jQuery有条件

nat*_*684 2 javascript jquery

试着用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 />");
}
Run Code Online (Sandbox Code Playgroud)

Lix*_*Lix 7

这个怎么样 :

if($("div.gathering").find("a.cat-link").length == 0){
  // Conditional statement returned TRUE
}
Run Code Online (Sandbox Code Playgroud)

jQuery选择器返回与给定选择器匹配的对象数组.这就是我们使用该length属性的原因.

使用的方法- $("div.gathering:contains('a.cat-link')")
将返回一个空数组,并在测试任何实际存在的对象(即使它是一个空数组),JavaScript将返回true.

示例 -

var nateArr = []; 
if (nateArr){
  // Do the dishes...
}else{
 // Eat some waffles...
}
Run Code Online (Sandbox Code Playgroud)

如果你自己测试这个,你将永远不会停止洗涤这些菜肴,因为即使nateArr包含零元素它仍然存在,因此条件语句将始终返回true.
你的手指会皱起来