jQuery 如果 div 有 anchor child 那么

标签 jquery html if-statement anchor

在一个简单的问题上遇到了麻烦。我的早茶不够浓。

如果 div 有一个 child ,那就是 anchor THEN-等等。不想向 .box 添加额外的类

类似于:

$('.box').click(function(){
    if ($(this).children('a')) {
        //some thing
    } else {
        //some thing else
    }
});

<div class="box"><a href="#"><img src="#" /></a></div>
<div class="box"><img src="#" /></div>
<div class="box"><img src="#" /></div>

最佳答案

检查 length属性:

$('.box').click(function(){
    if ($(this).children('a').length) {
        //some thing
    } else {
        //some thing else
    }
});

因为 children 方法(像大多数 jQuery 方法一样)返回一个 jQuery 实例,它总是评估为 true(所以你总是以 如果分支)。 length 属性返回一个数字,如果它是 0,它将计算为 false

关于jQuery 如果 div 有 anchor child 那么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9538397/

相关文章:

javascript - 有没有办法实时从 jQuery 加载特定功能?

c# - 表单提交后启用文本框和按钮 ASP.NET MVC 4

javascript - 无法滚动到 iScroll div 的底部

mysql、@variable 和 if 语句

c - 如何使用bool、if语句、while语句,用来检查用户输入的有效性

jquery - 显示/隐藏 div 不起作用

javascript - 倒计时结束后刷新页面

jquery 可调整大小 : dynamic minHeight

javascript - 编辑器中的 wordpress 双引号问题

c++ - if 语句中的多个条件