How to check jQuery find return true or false?
This question already has an answer here:
You couldn't use just find
in if
condition. You could use has
or check for the length
property.
var elm = $('.parent1');
if(elm.has('.child3')){
var child3 = elm.find('.child3');
}
Or simply like this
var child3 = $('.parent1').find(".child3");
if(child3.length > 0) {
// child3 is present
}
You can use .length
property to check that element exists.
var elem = $(".parent2").find(".child3");
if(elem.length){
alert(elem.text());
}else{
alert('Element doesnt exists')
}
Alternatively, You can use .has()
var elem = $(".parent2");
if(elem.has(".child3")){
alert(elem.find(".child3").text());
}else{
alert('Element doesnt exists')
}
Whenever you wrap a selector in $()
it will always return a jQuery object that contains the array of matching elements.
Therefore you can use the length
property to test if there are matches
var $collection = $(".parent2").find(".child3").length;
if ($collection.length)....
You can use other approaches also such as is()
var #collection = $(".parent2");
if($collection.children().is(".child3") /* returns tru if there are matches
链接地址: http://www.djcxy.com/p/83686.html
上一篇: 没有条件失败(jQuery)