首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查是否存在元素

检查是否存在元素
EN

Stack Overflow用户
提问于 2011-01-25 16:14:17
回答 5查看 46.1K关注 0票数 31

可能重复:

Is there an “exists” function for jQuery

jQuery determining if element exists on page

当tr不是元素时,if(tr)将返回true,如何检查它是否存在?

代码语言:javascript
复制
var tr = $('#parts-table .no-data').parent();
$('.delete', row).bind('click', function (e) {
  that.delete(e.currentTarget);
});
console.log(tr);
if (tr) //returns true when it shouldn't
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-25 16:15:10

检查它的length属性:

代码语言:javascript
复制
if(tr.length) {
    // exists
}

if(tr)总是计算为真,因为jQuery对象或任何JavaScript对象都是真实的。

票数 36
EN

Stack Overflow用户

发布于 2011-01-25 16:26:40

我总是在JS文件的开头添加这个小jQuery片段

代码语言:javascript
复制
jQuery.fn.exists = function(){return jQuery(this).length>0;}

这使用了这里许多人建议的方法,但也允许您访问是否存在这样的对象:

代码语言:javascript
复制
if ( $('#toolbar').exists() ){
    $('#toolbar').load(..., function(){...});
    //etc...
}
票数 8
EN

Stack Overflow用户

发布于 2011-01-25 16:15:24

这是因为tr是一个jQuery对象,它是真实的(即使jQuery对象是空的)。改用if (tr.length),当length不是零时为真,当为零时为false。或者交替使用,if (tr[0]).

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

https://stackoverflow.com/questions/4795928

复制
相关文章

相似问题

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