jQuery: Checking if next element exists
Is there a way to check if a next element exists? Check my code:
if($("#people .making-of .mask ul li.current").next("li") != null) {
alert("Exists");
}
else {
alert("Dont exists");
}
What am I doi开发者_如何学编程ng wrong? Thanks a lot!
Have you tried looking at .next('li').length
?
Use jQuery .is()
, using .is()
you can even check what tag, class or ID next element have?
if($("#people .making-of .mask ul li.current").next().is('li')) {
alert("Exists");
}
else {
alert("Dont exists");
}
The briefest method is just:
if( $( ... ).next('li')[0] ) {
Since jQuery functions always return a jQuery object, it's never equal to null
. But accessing a jQuery object like an array acts like you are using an array of DOM objects, so [0]
will pull the first matched DOM element or null
. Checking .length()
against 0 works, as well.
Use the length
method in jQuery:
if($(...).next().length > 0) {
alert("Exists.")
} else {
alert("Doesn't exist!")
}
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
Like the post above says, you need to check the length of the item. Jquery.next() will always return a jquery object, but if there is no next item, it will have a length of 0.
if($("#people .making-of .mask ul li.current").next("li").length > 0) {
alert("Exists");
}
else {
alert("Dont exists");
}
I think this is good to use like.
if ($(this).nextAll().length > 0) { alert("Exists"); }else{ alert("Don't exists"); }
精彩评论