Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Javascript 仅将类添加到一个div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 仅将类添加到一个div

Javascript 仅将类添加到一个div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要一些帮助添加一个类到一个div,如果它有一个图像 <div class="large-6 columns check-Div"> <div class="custom-table"> <div class="text"> <?php echo $latestimage; ?> </div> <div class="custom-table-box"> <?php

我需要一些帮助添加一个类到一个div,如果它有一个图像

<div class="large-6 columns check-Div">
  <div class="custom-table">
    <div class="text">
      <?php echo $latestimage; ?>
    </div>
    <div class="custom-table-box">
      <?php echo $table; ?>
    </div>
  </div><!-- end custom-table -->
</div>
上面的jQuery将
hasImage
类添加到所有div中,但我只希望它在存在包含图像的div时应用。有没有一种独特的方法?还是父母?我试过了,但有点迷路了


任何帮助都太好了

CSS:has选择器是您正在寻找的(此处为直系后代)

或者只是在css中(但这需要一个,因为它在级别4中,目前是草稿)

JSfiddle此处:


浏览器支持

关于CSS选择器兼容性

无论浏览器是否支持CSS选择器,api.jquery.com/category/selectors/上列出的所有选择器在作为jquery函数的参数传递时都将返回正确的元素集


您可以通过删除
if
语句并仅基于
:has
选择器添加类来完成此操作:

$j('.large-6.columns.check-Div:has(img)').addClass('hasImage');

您可以使用jquery实现这一点,无需添加if条件

jQuery(".custom-table-box:has(img)").parents(".check-Div").addClass("hasImage");
试试这个代码

$('.large-6 .columns .check-Div div:has(img)').addClass('hasImage');

为了清晰起见,我添加了额外的背景色

$(.custom table”).children(“div”).each(函数(项、索引){
$(this).has(“img”).css(“背景色”、“红色”);//如果不需要,请对其进行注释
$(this.has(“img”).addClass(“hasImage”);
});

xyz
abc

我认为您应该尝试使用id

<div id="addImg" class="large-6 columns check-Div">
                  <div class="custom-table">
                  <div class="text">
                    <?php echo $latestimage; ?>
                  </div>


                    <div class="custom-table-box">
                      <?php echo $table; ?>
                    </div>
                  </div><!-- end custom-table -->
                </div>

if($j(“.large-6.columns.check-Div>。自定义表格框:包含('size-full')){
$j('#addImg').addClass(“.hasImage”);//也缺少.for类

}

@mayersdesign不幸不是,否则这将是一个完美的解决方案当用作jQuery选择器时,那么jQuery正在进行选择,而不是浏览器…编辑使其更有趣(用作jQuery选择器)。您的选择器有一些重大问题,谢谢您的帮助!很高兴帮你:)你帮了我,现在我可以继续工作了。祝你周末愉快!!感谢所有帮助过你的人。这就是为什么我喜欢这个地方。干杯,周末快乐;)你很好;)
$('.large-6 .columns .check-Div div:has(img)').addClass('hasImage');
<div id="addImg" class="large-6 columns check-Div">
                  <div class="custom-table">
                  <div class="text">
                    <?php echo $latestimage; ?>
                  </div>


                    <div class="custom-table-box">
                      <?php echo $table; ?>
                    </div>
                  </div><!-- end custom-table -->
                </div>