Javascript 仅将类添加到一个div
我需要一些帮助添加一个类到一个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 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>