如果一个类在figure
元素中有一个类right
,我该如何向它添加一个类?如果一个图像的类为{{1},我只想要执行它}。
right
这会为页面上的每个$(function() {
if ($('img').hasClass('right')) {
$('figure').addClass('test');
}
});
添加一个课程test
吗?
答案 0 :(得分:5)
您可以使用:
$('img.right').closest('figure').addClass('test');
如果figure
元素始终是直接父元素,您也可以使用:
$('img.right').parent('figure').addClass('test');
作为旁注,您的示例无效的原因是您在使用{时将test
类添加到 所有 数字元素{1}}。
你需要获得元素的上下文,它看起来更像是这样:
$('figure').addClass('test')
避免使用$('img.right').each(function(){
$(this).parent('figure').addClass('test');
});
循环并使用其他建议之一。
答案 1 :(得分:3)
您可以使用:has
选择器:
$('figure:has(img.right)').addClass('test');