检查元素是否存在

Web*_*net 22 javascript jquery

可能重复:
jQuery jQuery 是否存在"exists"函数,用于
确定页面上是否存在元素

if(tr) 当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
Run Code Online (Sandbox Code Playgroud)

kar*_*m79 34

检查其length财产:

if(tr.length) {
    // exists
}
Run Code Online (Sandbox Code Playgroud)

if(tr)始终计算结果为true,因为jQuery对象或任何 JavaScript对象始终是真的.


Dut*_*432 7

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

jQuery.fn.exists = function(){return jQuery(this).length>0;}
Run Code Online (Sandbox Code Playgroud)

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

if ( $('#toolbar').exists() ){
    $('#toolbar').load(..., function(){...});
    //etc...
}
Run Code Online (Sandbox Code Playgroud)