Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery如果div有锚点子级,那么_Jquery_Html_If Statement_Anchor - Fatal编程技术网

jQuery如果div有锚点子级,那么

jQuery如果div有锚点子级,那么,jquery,html,if-statement,anchor,Jquery,Html,If Statement,Anchor,在一个简单的问题上有困难。我的早茶不够浓 如果迪夫有个孩子,那就是一个锚——胡说八道。不想向.box添加其他类 比如: $('.box').click(function(){ if ($(this).children('a')) { //some thing } else { //some thing else } }); <div class="box"><a href="#"><img src="#" /

在一个简单的问题上有困难。我的早茶不够浓

如果迪夫有个孩子,那就是一个锚——胡说八道。不想向.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>
$('.box')。单击(函数(){
if($(this.children('a')){
//一些东西
}否则{
//还有别的吗
}
});
检查属性:

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

由于
children
方法(与大多数jQuery方法一样)返回jQuery实例,因此它的计算结果总是
true
(因此,您总是会在
if
分支中结束)。
length
属性返回一个数字,如果它是
0
,则该数字将计算为
false
,您可以使用
.find()
搜索选择器以查找其他选择器:希望有帮助

现在不需要jQuery您只需要添加一些普通JavaScript,注意代码非常简短

cells=document.querySelectorAll('div');
[]forEach.call(单元格、函数(el){
//console.log(el.nodeName)
if(el.hasChildNodes()&&el.firstChild.nodeName==“A”){
console.log(el)};
});


bingo bango,真快。为什么我要测量锚的数量?否则它将返回一个从0开始的数组或其他什么?
children
方法将返回一个jQuery实例,无论它是否包含任何元素,它的计算结果都将始终为
true
。谢谢您的解释,让我先回答一下。将接受ASPIF你想要的代码>某些东西是添加到锚中的CSS,考虑使用CSS子选择器“BLAM>HoOT”,当它是BLAM的孩子时识别HoOT。更具体地说是“div.box>a”类为“.box”的div的锚定子级