Применить плагин jquery к элементу dom - PullRequest
1 голос
/ 05 января 2012

Я храню весь код javascript, который относится к внешней части приложения, в файле frontend.js. Если элемент dom не существует на этой странице, но я пытаюсь применить плагин javascript бросить ошибку Пример:

$('#normalImage').Jcrop({
    setSelect:[ 0, 0, 48, 48 ],
    sideHandles:false,
    onChange:showPreview,
    onSelect:showPreview,
    aspectRatio:1
});

Я нашел одно решение для этой проблемы, это проверить размер

if($('#normalImage').size() > 0)
//apply plugin

Но я не уверен, что это правильный путь

Ответы [ 4 ]

4 голосов
/ 05 января 2012

Вы, вероятно, имеете дело с плохим плагином, так как это работа плагинов, чтобы не выдавать ошибку, когда селектор jquery пуст. Но в этом случае проверка размера или длины - верный способ работы.

Лучше всего использовать это:

var dom = $('#normalImage');
if(dom.length > 0) 
{
   dom.Jcrop({
      setSelect:[ 0, 0, 48, 48 ],
      sideHandles:false,
      onChange:showPreview,
      onSelect:showPreview,
      aspectRatio:1
   });
}
1 голос
/ 05 января 2012

Это правильный способ проверить .length и сопоставить его с нулем, чтобы проверить, есть ли в коллекции какой-либо элемент или нет?

С сайта jquery:

.size() метод функционально эквивалентен свойству .length;однако свойство .length является предпочтительным, поскольку оно не содержит служебных данных при вызове функции.

0 голосов
/ 05 января 2012

Если вы хотите проверить, существует ли элемент dom, вы можете использовать:

if ( $("#normalImage").length > 0 ) {
  //do something
}
0 голосов
/ 05 января 2012
if ($("#myelement").length > 0){
  // do something here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...