【发布时间】:2011-10-31 18:20:11
【问题描述】:
我习惯了 Prototypejs,如果没有找到任何元素,$$("selector") 将返回 null。这很方便,因为我可以做到
if ($$("selector")) {}
检查一个元素是否在 DOM 中。
然而,在 jQuery 中 $(selector) 将返回 [] 如果没有找到元素,所以现在我需要这样做:
if ( $(selector).length > 0 )
这使得代码更难阅读。
我的问题:最好的方法是什么?我应该使用 .empty() 和 .any() 之类的方法扩展 jQuery 对象,还是有内置函数可以做到这一点?
更新:这也适用于 jQuery 上的其他选择器,无论如何,它们应该只返回一个结果(如 parent() 或最接近的())
【问题讨论】:
-
你只需要
if ($(selector).length),因为0似乎是假的...... -
去掉
> 0谓词。这是多余的。
标签: jquery