检查选择器是否存在的最佳方法是什么?

时间:2011-11-09 17:52:56

标签: jquery optimization

使用JQuery,要检查选择器是否存在,我会执行以下操作:

if ($(selector).length > 0) { ... }

但我想这可能不是最好的方式,因为我只想知道选择器是否存在,而不是有多少。有没有办法在出于优化原因找到的第一个匹配项时停止搜索?

谢谢!

编辑:澄清:我想避免使用“长度”方法,因为它会检查所有DOM。我只想在找到一个事件时停止

3 个答案:

答案 0 :(得分:8)

找到一个匹配的元素后,没有更有效的方法让jQuery停止。
它甚至不可能在Vanilla(" pure")JavaScript来限制{ {1}}只匹配一个元素,而不会有更糟糕的表现。

答案 1 :(得分:1)

理论上,您可以将:first附加到查询中以限制结果(http://api.jquery.com/first-selector/),但它实际上会使查询变慢,因为它会阻止jQuery使用本机querySelectorAll()函数现代褐色的。

答案 2 :(得分:-4)

使用此,

if( $('#idofelement'))  or
if( $('.classname')  )