检查元素是否存在
可能重复:
是否存在jQuery的“存在”function
jQuery确定页面上是否存在元素
当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
检查其length
属性:
if(tr.length) { // exists }
if(tr)
总是求值为true,因为jQuery对象或任何 JavaScript对象总是很简单。
我总是在我的JS文件的开头添加这个小jQuery片段
jQuery.fn.exists = function(){return jQuery(this).length>0;}
这使用了许多人建议的相同方法,但它也允许您访问对象是否存在,如下所示:
if ( $('#toolbar').exists() ){ $('#toolbar').load(..., function(){...}); //etc... }
那是因为tr
是一个jQuery对象,这很简单(即使jQuery对象为空)。 改为使用if (tr.length)
,当length
不为零时为true,为零时为false。 或者, if (tr[0])
。
怎么样:
if (tr.size() == 0)
试试这个
var tr = $('#parts-table .no-data').parent().length;