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!") }