首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jquery中按id选择

在jquery中按id选择
EN

Stack Overflow用户
提问于 2010-03-10 14:39:49
回答 4查看 365关注 0票数 0

就像你所知道的

代码语言:javascript
运行
复制
$("#ID")  

返回具有ID的元素。

但是即使没有元素,这段代码也总是返回。

代码语言:javascript
运行
复制
alert($("#htrBuyerCouponNotice"));
alert(document.getElementById("htrBuyerConponNotice"));

在这种情况下。

这两条线的结果是不同的。

我想检查是否有一个元素有htrBuyerCouponNotice

如果没有元素,则document.getElementByID返回null。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-10 14:42:19

您可以检查jQuery对象的length属性以确定匹配元素的数量,例如:

代码语言:javascript
运行
复制
alert($(selector).length);

您可以直接在if语句上使用它,例如:

代码语言:javascript
运行
复制
var $el = $(selector);

if ($el.length) { // only 0 will coerce to false
  // ...
}

但大多数情况下,你并不需要知道选择器是否匹配元素,因为jQuery内置方法将被忽略,例如:

代码语言:javascript
运行
复制
$('#nonExistent').hide();

即使没有找到元素,上面的语句也不会导致任何错误。

jQuery也有size方法,但我建议您直接使用length属性,因为它是可公开访问的,size方法稍微慢一些,因为它只是一个返回length属性值的函数。

票数 3
EN

Stack Overflow用户

发布于 2010-03-10 14:43:04

因为jQuery返回一个选定元素的列表,所以如果没有元素,您仍然会得到一个返回-它只是一个空列表。

检查$(‘#.length’).length-如果我没有记错,应该可以工作

票数 1
EN

Stack Overflow用户

发布于 2010-03-10 14:43:08

选择元素时,jQuery将始终返回匹配元素的数组。在您的例子中,$('#htrBuyerCouponNotice')可能返回一个空数组。相反,请检查$('#htrBuyerCouponNotice').length

安德鲁

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2414983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档