How to check jQuery find return true or false?
本问题已经有最佳答案,请猛点这里访问。
HTML代码
1 2 3 4 5 6 7 8 | Child1 Child2 Child3 Child1 Child2 |
jQuery代码
1 2 | alert($(".parent1").find(".child3").text()); alert($(".parent2").find(".child3").text()); |
我的问题是如何检查
在上面的代码中,它返回空白值,其中
JS小提琴
您不能在
1 2 3 4 | var elm = $('.parent1'); if(elm.has('.child3')){ var child3 = elm.find('.child3'); } |
或者就是这样
1 2 3 4 | var child3 = $('.parent1').find(".child3"); if(child3.length > 0) { // child3 is present } |
您可以使用
1 2 3 4 5 6 | var elem = $(".parent2").find(".child3"); if(elem.length){ alert(elem.text()); }else{ alert('Element doesnt exists') } |
或者,您可以使用
1 2 3 4 5 6 | var elem = $(".parent2"); if(elem.has(".child3")){ alert(elem.find(".child3").text()); }else{ alert('Element doesnt exists') } |
每当你在
因此,您可以使用
1 2 | var $collection = $(".parent2").find(".child3").length; if ($collection.length).... |
您也可以使用其他方法,例如
1 2 | var #collection = $(".parent2"); if($collection.children().is(".child3") /* returns tru if there are matches |
作为
1 2 3 4 5 6 | if($(".parent1").find(".child3").length > 0) { alert("parent1 child3"); } if($(".parent2").find(".child3").length > 0) { alert("parent2 child3"); } |
.parent2没有元素.child3,
1 | alert($(".parent2").find(".child3").text()); |
试试这个:
1 | alert($(".parent2").find(".child2").text()); |
如果您只想要最后一项,请尝试此操作
1 2 | alert($(".parent1").find("[class^=child]:last").text()); alert($(".parent2").find("[class^=child]:last").text()); |
1 2 3 4 5 6 7 8 9 10 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> Child1 Child2 Child3 Child1 Child2 |
1 2 3 4 5 6 7 8 | console.log(Boolean($(".parent1").find(".child3").length)); console.log(Boolean($(".parent2").find(".child3").length)); console.log(!!$(".parent1").find(".child3").length); console.log(!!$(".parent2").find(".child3").length); console.log($(".parent1").find(".child3").length > 0); console.log($(".parent2").find(".child3").length > 0); |
1 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> |