【发布时间】:2011-10-06 17:59:39
【问题描述】:
有没有办法检查下一个元素是否存在?检查我的代码:
if($("#people .making-of .mask ul li.current").next("li") != null) {
alert("Exists");
}
else {
alert("Dont exists");
}
我做错了什么?非常感谢!
【问题讨论】:
标签: javascript jquery
有没有办法检查下一个元素是否存在?检查我的代码:
if($("#people .making-of .mask ul li.current").next("li") != null) {
alert("Exists");
}
else {
alert("Dont exists");
}
我做错了什么?非常感谢!
【问题讨论】:
标签: javascript jquery
您是否尝试过查看.next('li').length?
【讨论】:
next().length推断它在寻找相同类型的元素,但似乎不是,您必须再次定义元素类型,即$("table").next("table").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 是否有效。
【讨论】:
在 jQuery 中使用length 方法:
if($(...).next().length > 0) {
alert("Exists.")
} else {
alert("Doesn't exist!")
}
【讨论】:
.length 属性。)
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
【讨论】:
就像上面的帖子所说,您需要检查项目的长度。 jquery.next() 总是会返回一个 jquery 对象,但是如果没有下一项,它的长度就是 0。
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
【讨论】:
我觉得这样用like挺好的。
if ($(this).nextAll().length > 0) { 警报(“存在”); }别的{ alert("不存在"); }【讨论】: