译 怎样使用jQuery判断元素是否存在
发表于:2014-11-14 04:04:56,已有2435次阅读
原文:http://aaronrussell.co.uk/legacy/check-if-an-element-exists-using-jquery/
在使用jQuery时(或其它Javascript库),你是否遇到过如何通过(selector)选择器来判断元素是否存在的情况?好吧,也许你没有,但我却经常遇到;我将在这说明这是如何实现的,因为这并不像它看起来的那么简单。
简单直白的将选择器包裹在if
语句中,这样对吗?
if ($("#mydiv")){ // do something here }
好吧,这是错的--像这样并不能正常工作!当你使用一个选择器,那么jQuery总是会返回一个对象,因此if
语句会一直返回true,永远也不会为false。访问页面中不存在的元素,jQuery会返回一个里面什么都没有的对象--空对象;解决方案就在其中。
对于一个jQuery选择器我们可以使用length
属性,它返回对象的大小,这样我们就可以据此修改if
语句:
if ($("#mydiv").length > 0){ // do something here }
现在我们的代码就可以正常运行了,因为jQuery会返回一个空对象,则length
属性则会返回为0,因此if
语句就会返回为false,哈哈,正解!
译者:
我们还可以使用其变种模式像这样:
if ($("#mydiv").length){ // do something here }这也是可以正常运行的!
暂无评论