if-not condition fails (jQuery)
本问题已经有最佳答案,请猛点这里访问。
http://jsbin.com/zexix/1/
1 2 3 4 5 6 7 8 9 | $(function() { if ( !$(".first.last") ) { console.log("div with both first and last classes does not exists") } else { console.log("it exists"); } }); |
我想检查是否存在同时具有
您需要检查找到的元素数量,因为如果没有找到任何元素,jQuery将返回一个空集合(在if语句中计算为truthy值):
1 | if ( !$(".first.last").length ) |
我建议明确地对0进行测试,而不是依赖于假值:
1 | if ( $(".first.last").length === 0 ) |
您可以通过检查从JQuery返回的第一个对象来简化这一过程:
1 2 3 4 5 | if (!$(".first.last")[0]){ console.log("div with both first and last classes does not exists"); } else { console.log("it exists"); } |
有两种方法:
1.检查长度:
1 | if ( !$(".first.last").length ) { // check the length if none returns 0 == false |
2.检查能见度:
1 | if ( !$(".first.last").is(':visible') ) { // returns boolean true/false |