Выбрать по id в jquery
как вы знаете
$("#ID")
возвращает элемент с идентификатором.
но этот код всегда возвращает даже там никакого элемента.
alert($("#htrBuyerCouponNotice"));
alert(document.getElementById("htrBuyerConponNotice"));
в этом случае.
эти два результата строки различны.
Я хочу проверить, есть ли элемент htrBuyerCouponNotice
.
document.getElementByID
возвращает null, если нет элемента.
Вы можете проверить свойство length
объекта jQuery для определения количества согласованных элементов, например:
alert($(selector).length);
Вы можете использовать его непосредственно в операторах if
, например:
var $el = $(selector);
if ($el.length) { // only 0 will coerce to false
// ...
}
Но большую часть времени вам действительно не нужно знать, соответствуют ли элементы, выбранные селектором, или нет, потому что встроенные методы jQuery будут просто проигнорированы, например:
$('#nonExistent').hide();
Вышеприведенный оператор не вызывает ошибок, даже если элемент не найден.
jQuery также имеет метод size
, но я бы рекомендовал вам использовать свойство length
напрямую, поскольку он общедоступен, метод size
немного медленнее, поскольку он является только функцией, которая возвращает значение length
.
потому что jQuery возвращает список выбранных элементов, если нет элементов, вы все равно получаете возврат - его просто пустой список.
проверить для $('# someID'). length - должен работать, если я правильно помню
При выборе элементов jQuery всегда возвращает массив совпадающих элементов. В вашем случае $('#htrBuyerCouponNotice')
, вероятно, возвращает пустой массив. Вместо этого отметьте $('#htrBuyerCouponNotice').length
.
Эндрю
Try:
$("#htrBuyerCouponNotice").size()
Он будет равен нулю, если нет узлов с этим идентификатором, 1, если есть.