如何判断一个元素';jquery中是否存在上一个或下一个元素?

如何判断一个元素';jquery中是否存在上一个或下一个元素?,jquery,element,next,Jquery,Element,Next,假设我有一个 : 奇怪的是,就连我这样写: if ($("li.test").next()) {alert("true");} 它仍然提示“true”,但正如您所看到的,它旁边没有元素?为什么会发生这种情况 或者我能做的就是 for (i = 0; i < $("li").length; i++) { if ($("li").eq(i).hasClass("test")) { if (i == $("li").len

假设我有一个
:

奇怪的是,就连我这样写:

if ($("li.test").next()) {alert("true");}
它仍然提示“true”,但正如您所看到的,它旁边没有元素?为什么会发生这种情况

或者我能做的就是

        for (i = 0; i < $("li").length; i++) {
            if ($("li").eq(i).hasClass("test")) {
                if (i == $("li").length - 1) {
                    alert("true");
                }
            }
        }
(i=0;i<$(“li”).length;i++)的
{
if($(“li”).eq(i).hasClass(“测试”)){
如果(i=$(“li”)。长度-1){
警惕(“真实”);
}
}
}
目前,这可以解决我的问题,但有一个简单的方法吗

多谢各位

if ($("li.test").next().length > 0) { ... }

您需要检查length属性

if ($("li.test").next().length) {
  //has next 
} else {
  //last elem
}

请记住,jQuery通常会返回自身,这样您就可以进行链接。获取该对象的
length
属性将为您提供信息

jQuery选择将始终计算为布尔值
true
(如
if
语句)。这是因为它不是本机Javascript类型——它是一个对象

您需要检查所选内容的属性。如果为空,则该值将为
0
,并将计算为
false
,因此
If
将不会通过。如果它不是空的,它将是一个正整数,因此将计算为
true
,因此条件将通过

if ($("li.test").next().length) { …… }
$(“li.test”).next().length

if ($("li.test").next().length) {
  //has next 
} else {
  //last elem
}
if ($("li.test").next().length) { …… }