有没有办法检查下一个元素是否存在?检查我的代码:
if($("#people .making-of .mask ul li.current").next("li") != null) {
alert("Exists");
}
else {
alert("Dont exists");
}
我做错了什么?非常感谢!
答案 0 :(得分:128)
您是否尝试过查看.next('li').length
?
答案 1 :(得分:23)
使用jQuery .is()
,使用.is()
您甚至可以查看下一个元素有哪些标记,类或ID?
if($("#people .making-of .mask ul li.current").next().is('li')) {
alert("Exists");
}
else {
alert("Dont exists");
}
答案 2 :(得分:14)
最简洁的方法就是:
if( $( ... ).next('li')[0] ) {
由于jQuery函数总是返回一个jQuery对象,因此它永远不会等于null
。但是访问类似数组的jQuery对象就像使用DOM对象数组一样,因此[0]
将拉出第一个匹配的DOM元素或null
。同时检查.length()
是否有效。
答案 3 :(得分:4)
在jQuery中使用length
方法:
if($(...).next().length > 0) {
alert("Exists.")
} else {
alert("Doesn't exist!")
}
答案 4 :(得分:3)
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
答案 5 :(得分:1)
与上面的帖子一样,您需要检查项目的长度。 Jquery.next()将始终返回一个jquery对象,但如果没有下一个项目,则其长度为0。
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
答案 6 :(得分:0)
我觉得这样很好用。
if ($(this).nextAll().length > 0) { alert("Exists"); }else{ alert("Don't exists"); }