javascript - jQuery 有条件

标签 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 />");
}

最佳答案

这个怎么样:

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/

相关文章:

javascript - JS : Assign variable value inside for loop depending on condition

javascript - 当我再次点击输入时使输入消失

javascript - 无法在 Javascript 中向 Owl Carousel 动态添加项目

javascript - 如何使数字自身相加并在每次单击按钮时返回总数?

javascript - 如何使用extjs在Widget中实现Tab面板?

javascript - Angularjs:一个在 Controller 之间共享数据的工厂

javascript - 更改 Vuetify v-card 图像的高度?

jquery - 如何在 div 容器内的图像上放置图层?

JavaScript console.dir 和运行时

jquery - 如果字体样式为斜体,IE7 在 slideToggle 上失败?