Javascript jQuery具有条件属性
尝试用jQuery编写一个条件语句,该语句基本上表示,如果Javascript jQuery具有条件属性,javascript,jquery,Javascript,Jquery,尝试用jQuery编写一个条件语句,该语句基本上表示,如果div.collecting不包含a.cat-link,则执行以下操作。我试过以下方法,但似乎不起作用。有人能解释一下吗 if($("div.gathering:contains('a.cat-link')")){ $(".gathering").append("<a href='#"+data[i]["categories"][0]["category_id"]+"div' class='cat-link' id='"+d
div.collecting
不包含a.cat-link
,则执行以下操作。我试过以下方法,但似乎不起作用。有人能解释一下吗
if($("div.gathering:contains('a.cat-link')")){
$(".gathering").append("<a href='#"+data[i]["categories"][0]["category_id"]+"div' class='cat-link' id='"+data[i]["categories"][0]["category_id"]+"' rel='external'>"+data[i]["categories"][0]["category_name"]+"<br />");
}
if($(“div.gating:contains('a.cat-link'))){
$(“.collecting”).append(“+data[i][“categories”][0][“category_name”]+”
);
}
这个怎么样:
if($("div.gathering").find("a.cat-link").length == 0){
// Conditional statement returned TRUE
}
jQuery选择器返回与给定选择器匹配的对象数组。这就是我们使用length
属性的原因
您使用的方法-$(“div.gating:contains('a.cat-link')”)
将返回一个空数组,当对实际存在的任何对象进行测试时(即使是空数组),JavaScript将返回
true
示例-
var nateArr = [];
if (nateArr){
// Do the dishes...
}else{
// Eat some waffles...
}
如果您亲自测试,您将永远不会停止清洗这些盘子,因为即使natarr
包含零元素,它仍然存在,因此条件语句将始终返回true
你的手指会皱巴巴的试试这个
$("div.gathering:not(:contains(a.cat-link))")
.append("<a href='#"+data[i]["categories"][0]["category_id"]+"div' class='cat-link' id='"+data[i]["categories"][0]["category_id"]+"' rel='external'>"+data[i]["categories"][0]["category_name"]+"<br />")
$(“div.gating:not(:contains(a.cat-link)))
.append(“+data[i][“categories”][0][“category_name”]+”
”)
这将只返回带有类聚集的div,该类聚集没有.cat-link
希望这有助于……我假设的可能重复!==0将与此相反?我喜欢这种无需代码的代码,它确实做到了这一点+1.但是,我们不知道该条件块中是否有更多的代码,因此您的解决方案可能不适合他的情况。更详细的方法也可以提高可读性。