Ste*_*han 1 jquery if-statement
figure如果一个图像里面的图像有一个类right,我怎么能给一个元素添加一个类,如果一个图像有一个类,我只想要执行它right.
$(function() {
if ($('img').hasClass('right')) {
$('figure').addClass('test');
}
});
Run Code Online (Sandbox Code Playgroud)
这会在页面上test为每个类添加一个类figure吗?
你可以使用:
$('img.right').closest('figure').addClass('test');
Run Code Online (Sandbox Code Playgroud)
如果figure元素始终是直接父元素,您还可以使用:
$('img.right').parent('figure').addClass('test');
Run Code Online (Sandbox Code Playgroud)
作为旁注,您的示例不起作用的原因是因为您在使用时将类添加test到所有图形元素$('figure').addClass('test').
你需要得到元素的上下文,它看起来更像是这样的:
$('img.right').each(function(){
$(this).parent('figure').addClass('test');
});
Run Code Online (Sandbox Code Playgroud)
但是,避免.each()循环并使用其他建议之一.