使用JQuery,要检查选择器是否存在,我会执行以下操作:
if ($(selector).length > 0) { ... }
但我想这可能不是最好的方式,因为我只想知道选择器是否存在,而不是有多少。有没有办法在出于优化原因找到的第一个匹配项时停止搜索?
谢谢!
编辑:澄清:我想避免使用“长度”方法,因为它会检查所有DOM。我只想在找到一个事件时停止
答案 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') )