jQuery检查元素是否存在的最简单方法

时间:2011-06-14 00:28:18

标签: jquery

我总是这样用jQuery检查元素:

var x = $("div.myElement");
if (x.length > 0) {
    x.show();
}

但我真的不喜欢if。有没有办法更简单?

2 个答案:

答案 0 :(得分:15)

答案直接来自jQuery FAQ。并且总是很好记住:在发布之前进行搜索,jQuery Documentation非常简单,虽然如此完整。

使用选择器返回的jQuery集合的length属性:

if ($("div.myElement").length)
    $("div.myElement").show();

另一个重要的事情也在FAQ上:并不总是需要测试一个元素是否存在。

如果你只编码$("div.myElement").show(),那么只有当元素存在时才会显示(肯定,呃?),如果不存在则不会发生任何事情(没有错误)。当选择器结果为空时,jQuery方法被写入不会引发错误。

答案 1 :(得分:0)

你可以这样做:

if ($("div.myElement").is('*')) {
  ...do some stuff...
}

或者:

if ( $("div.myElement")[0] ) {
  ...do some stuff...
}

问题已经回答therehere