jQuery:检查下一个元素是不是存在
Posted
技术标签:
【中文标题】jQuery:检查下一个元素是不是存在【英文标题】:jQuery: Checking if next element existsjQuery:检查下一个元素是否存在 【发布时间】:2011-10-06 17:59:39 【问题描述】:有没有办法检查下一个元素是否存在?检查我的代码:
if($("#people .making-of .mask ul li.current").next("li") != null)
alert("Exists");
else
alert("Dont exists");
我做错了什么?非常感谢!
【问题讨论】:
【参考方案1】:您是否尝试过查看.next('li').length
?
【讨论】:
没问题。很高兴我能帮上忙。 我还以为next().length
推断它在寻找相同类型的元素,但似乎不是,您必须再次定义元素类型,即$("table").next("table").length
以查看是否有表遵循当前表格?【参考方案2】:
使用jQuery .is()
,使用.is()
你甚至可以检查下一个元素有什么标签、类或ID?
if($("#people .making-of .mask ul li.current").next().is('li'))
alert("Exists");
else
alert("Dont exists");
【讨论】:
【参考方案3】:最简单的方法就是:
if( $( ... ).next('li')[0] )
由于 jQuery 函数总是返回一个 jQuery 对象,它永远不会等于null
。但是像访问数组一样访问 jQuery 对象就像使用 DOM 对象数组一样,因此[0]
将提取第一个匹配的 DOM 元素或null
。检查 .length()
与 0 是否有效。
【讨论】:
【参考方案4】:在 jQuery 中使用length
方法:
if($(...).next().length > 0)
alert("Exists.")
else
alert("Doesn't exist!")
【讨论】:
(您需要使用.length
属性。)【参考方案5】:
if($("#people .making-of .mask ul li.current").next("li").length > 0)
alert("Exists");
else
alert("Dont exists");
【讨论】:
【参考方案6】:就像上面的帖子所说,您需要检查项目的长度。 jquery.next() 总是会返回一个 jquery 对象,但是如果没有下一项,它的长度就是 0。
if($("#people .making-of .mask ul li.current").next("li").length > 0)
alert("Exists");
else
alert("Dont exists");
【讨论】:
【参考方案7】:我觉得这样用like挺好的。
if ($(this).nextAll().length > 0) 警报(“存在”); 别的 alert("不存在");【讨论】:
以上是关于jQuery:检查下一个元素是不是存在的主要内容,如果未能解决你的问题,请参考以下文章
在追加到 JQuery 之前检查 DOM 元素是不是自动存在