如果子级包含类,如何将类添加到父级
How can I add class to parent if child contains class?
如果父div有一个类为"testing"的子IMG元素,我将尝试向它添加一个类。
<article>
<div id="on-1" class="box">
<img src="110.jpg">
</div>
<div class="present">
<img class="testing" src="image.jpg">
</div>
</article>
我已经设置了if
语句来检查类"testing"是否存在。不过,我在向父"article"元素添加类时遇到了问题。
if ($("article").find(".testing").length > 0) {
$(.this.parentNode.parentNode).addClass("hasclass");
}
使用parent()选择父元素。
$("article img.testing").parent().addClass('hasclass');
$("article img.testing").parent().addClass('hasclass');
.hasclass {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<article>
<div id="on-1" class="box">
<img src="110.jpg">
</div>
<div class="present">
<img class="testing" src="image.jpg">
</div>
</article>
$('div:has(img.testing)').addClass('hasclass');
根据您对@Tushar的回答的评论,为了帮助详细说明遍历许多父节点,我通常采取以下方法:
将类添加到直接父级div
:
$('article img.testing').parent().toggleClass('new-class', true);
并将类添加到包含的article
父级:
$('article img.testing').parents('article:first').toggleClass('new-class', true);
我也喜欢使用toggleClass()
,因为它看起来"更干净",以避免在元素中添加两次相同的类,尽管我相信jQuery会检查这一点。
希望这能有所帮助!
相关文章:
- 添加/删除类淡入淡出不起作用
- 在iframe中加载url并添加一个类
- 如果在iframe中查看页面,如何在Wordpress中添加body类
- Jquery添加一个类之后,如何应用css
- jQuery在悬停时只添加一个类
- 无法删除css类并添加新类
- 如何选择使用jquery动态添加的类
- jQuery - 添加删除类 - 设置输入值
- 可以't将带有变量的id添加到类中
- 如何为JS模块添加包含路径
- 在添加或删除之前,正在使用检查classList是否包含类
- 如何使用Dojo引用Google Maps事件中的包含类
- ng重复向一个元素添加条件类
- 如何将包含数组的对象添加到类中
- 如果子级包含类,如何将类添加到父级
- 使用jQuery添加图像标记-如何包含类名
- 我如何添加一个类到特定的html元素,如果他们包含一个特定的值
- 在类名中添加包含特定文本的类
- 向包含类的所有img添加数据操作
- 如何使用jquery将包含数据的dispatchEvent添加到类中