检查元素是否存在

时间:2011-01-25 16:14:18

标签: javascript jquery

  

可能重复:
  Is there an “exists” function for jQuery
  jQuery determining if element exists on page

当tr不是元素时,

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

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

5 个答案:

答案 0 :(得分:34)

检查其length属性:

if(tr.length) {
    // exists
}

if(tr)总是求值为true,因为jQuery对象或任何 JavaScript对象,总是很简单。

答案 1 :(得分:7)

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

jQuery.fn.exists = function(){return jQuery(this).length>0;}

这使用了许多人建议的相同方法,但它也允许您访问对象是否存在,如下所示:

if ( $('#toolbar').exists() ){
    $('#toolbar').load(..., function(){...});
    //etc...
}

答案 2 :(得分:3)

那是因为tr是一个jQuery对象,这很简单(即使jQuery对象为空)。请改用if (tr.length)length不为零时为真,零为零时为假。或者,if (tr[0])

答案 3 :(得分:1)

怎么样:

if (tr.size() == 0) 

答案 4 :(得分:1)

试试这个

var tr = $('#parts-table .no-data').parent().length;