如何在 jQuery 中检查空对象
2022-08-30 01:56:02
我正在使用jQuery,我想检查我的页面中是否存在元素。我已经写了下面的代码,但它不起作用:
if($("#btext" + i) != null) {
//alert($("#btext" + i).text());
$("#btext" + i).text("Branch " + i);
}
如何检查元素是否存在?
我正在使用jQuery,我想检查我的页面中是否存在元素。我已经写了下面的代码,但它不起作用:
if($("#btext" + i) != null) {
//alert($("#btext" + i).text());
$("#btext" + i).text("Branch " + i);
}
如何检查元素是否存在?
(由于我似乎没有足够的声誉来投票否决答案...)
沃尔夫 说:
在未定义或空对象上调用 length 属性将导致 IE 和 webkit 浏览器失败!
相反,请尝试以下操作:
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram if($("#something") !== null){ // do something }
或
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram if($("#something") === null){ // don't do something }
虽然在未定义或空对象上调用 length 属性确实会导致浏览器失败,但 jQuery 的选择器($('...'))的结果永远不会是空的或未定义的。因此,代码建议毫无意义。使用其他答案之一,它们更有意义。
(2012年更新)因为人们看代码,这个答案在列表上的位置相当高:在过去的几年里,我一直在使用这个小插件:
jQuery.fn['any'] = function() {
return (this.length > 0);
};
我认为 $('div').any() 读起来比 $('div').length 更好,而且你不会受到拼写错误的影响:$('div').ayn() 会给出一个运行时错误,$('div').lenght 会默默地总是很可能是虚假的。
__
2012年11月编辑:
1)因为人们倾向于看代码,而不是阅读围绕代码所说的内容,所以我在引用的Wolf代码中添加了两个大的警告。
2)我添加了我用于这种情况的小插件的代码。