问题描述
|
我用这种方式用jQuery检查元素:
var x = $(\"div.myElement\");
if (x.length > 0) {
x.show();
}
但是我真的不喜欢那个if
。有什么方法可以使它更简单吗?
解决方法
答案直接来自jQuery FAQ。并始终牢记:在发布之前进行搜索,jQuery文档非常简单而完整。
使用选择器返回的jQuery集合的
length
属性:
if ($(\"div.myElement\").length)
$(\"div.myElement\").show();
常见问题解答中还有另一个重要事项:不一定总是需要测试元素是否存在。
如果只编码$(\"div.myElement\").show()
,则仅当元素存在时(确定,嗯?)才会显示,如果不存在,则什么也不会发生(没有错误)。选择器结果为空时,编写jQuery方法时不会引发错误。
, 你可以这样做 :
if ($(\"div.myElement\").is(\'*\')) {
...do some stuff...
}
要么 :
if ( $(\"div.myElement\")[0] ) {
...do some stuff...
}
该问题已在此处和此处得到解答。