尝试使用 jQuery 编写一个条件,该条件基本上说明,如果 div.gathering
不包含 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.gathering").find("a.cat-link").length == 0){
// Conditional statement returned TRUE
}
jQuery 选择器返回与给定选择器匹配的对象数组。这就是我们使用 length
属性的原因。
您使用的方法 - $("div.gathering:contains('a.cat-link')")
将返回一个空数组,并且当针对任何实际存在的对象(即使它是一个空数组)进行测试时,JavaScript 将返回true
。
示例 -
var nateArr = [];
if (nateArr){
// Do the dishes...
}else{
// Eat some waffles...
}
如果您自己测试一下,您将永远不会停止洗这些盘子,因为即使 nateArr
包含零个元素,它仍然存在,因此条件语句将始终返回 true
。
你的手指会起皱
关于javascript - jQuery 有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094585/