hh5*_*188 18 jquery element next
假设我有一个<ul>
:
<ul>
<li></li>
<li></li>
<li class="test"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我怎样才能判断.test
jquery有下一个元素?像这样?:
if ($("li.test").next()) { …… }
Run Code Online (Sandbox Code Playgroud)
奇怪的是,即使我像上面这样写:
if ($("li.test").next()) {alert("true");}
Run Code Online (Sandbox Code Playgroud)
它仍然警告"真实",但如你所见,它旁边没有元素?为什么会这样?
或者我能做的是
for (i = 0; i < $("li").length; i++) {
if ($("li").eq(i).hasClass("test")) {
if (i == $("li").length - 1) {
alert("true");
}
}
}
Run Code Online (Sandbox Code Playgroud)
目前这可以解决我的问题,但有一个简单的方法吗?
谢谢
lon*_*day 40
jQuery选择将始终评估为布尔值true
(如在if
语句中).这是因为它不是本机Javascript类型 - 它是一个对象.
您需要检查length
选择的属性.如果它是空的,那么它将被0
评估为false
,所以if
不会通过.如果它不为空,则它将是一个正整数,因此将计算为true
,因此条件将通过.
if ($("li.test").next().length) { …… }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16897 次 |
最近记录: |