jQuery:检查下一个元素是否存在

有没有办法检查下一个元素是否存在? 检查我的代码:

if($("#people .making-of .mask ul li.current").next("li") != null) { alert("Exists"); } else { alert("Dont exists"); } 

我究竟做错了什么? 非常感谢!

你有没有试过看.next('li').length

使用jQuery .is() ,使用.is()你甚至可以检查下一个元素有哪些标签,类或ID有?

 if($("#people .making-of .mask ul li.current").next().is('li')) { alert("Exists"); } else { alert("Dont exists"); } 

最简单的方法是:

 if( $( ... ).next('li')[0] ) { 

由于jQuery函数总是返回一个jQuery对象,它永远不会等于null 。 但是,像数组一样访问jQuery对象的行为就像使用DOM对象数组一样,所以[0]将拉取第一个匹配的DOM元素或null 。 检查.length()对0也起作用。

 if($("#people .making-of .mask ul li.current").next("li").length > 0) { alert("Exists"); } else { alert("Dont exists"); } 

就像上面的post所说,你需要检查项目的长度。 Jquery.next()将始终返回一个jquery对象,但如果没有下一个项目,它将有一个长度为0。

 if($("#people .making-of .mask ul li.current").next("li").length > 0) { alert("Exists"); } else { alert("Dont exists"); } 

在jQuery中使用length方法:

 if($(...).next().length > 0) { alert("Exists.") } else { alert("Doesn't exist!") }