就像你所知道的
$("#ID") 返回具有ID的元素。
但是即使没有元素,这段代码也总是返回。
alert($("#htrBuyerCouponNotice"));
alert(document.getElementById("htrBuyerConponNotice"));在这种情况下。
这两条线的结果是不同的。
我想检查是否有一个元素有htrBuyerCouponNotice。
如果没有元素,则document.getElementByID返回null。
发布于 2010-03-10 14:42:19
您可以检查jQuery对象的length属性以确定匹配元素的数量,例如:
alert($(selector).length);您可以直接在if语句上使用它,例如:
var $el = $(selector);
if ($el.length) { // only 0 will coerce to false
// ...
}但大多数情况下,你并不需要知道选择器是否匹配元素,因为jQuery内置方法将被忽略,例如:
$('#nonExistent').hide();即使没有找到元素,上面的语句也不会导致任何错误。
jQuery也有size方法,但我建议您直接使用length属性,因为它是可公开访问的,size方法稍微慢一些,因为它只是一个返回length属性值的函数。
发布于 2010-03-10 14:43:04
因为jQuery返回一个选定元素的列表,所以如果没有元素,您仍然会得到一个返回-它只是一个空列表。
检查$(‘#.length’).length-如果我没有记错,应该可以工作
发布于 2010-03-10 14:43:08
选择元素时,jQuery将始终返回匹配元素的数组。在您的例子中,$('#htrBuyerCouponNotice')可能返回一个空数组。相反,请检查$('#htrBuyerCouponNotice').length。
安德鲁
https://stackoverflow.com/questions/2414983
复制相似问题