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

时间:2011-10-06 17:59:40

标签: javascript jquery

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

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

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

7 个答案:

答案 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");

   }