在下面的代码片段中,如果具有 strikeWindow 类的 div 具有“display:none”样式,则具有 blockElement 类的相应 div 应该添加一个类“strikeWindowAddtocart”
<div class="boxContent" >
<div class="strikeWindow" style="display:none">
</div>
<div class="blockElement">
</div>
</div>
<div class="boxContent" >
<div class="strikeWindow" style="display:block">
</div>
<div class="blockElement">
</div>
</div>
我尝试了以下 jquery 片段,但它不起作用。 我很想有一个有效的 JSFiddle 示例。 谢谢。
$('.strikeWindow').each(function(i, obj) {
if((obj.style.display).search('block') ==0) {
$(this).parents('.boxContent').find(".blockElement").addClass("strikeWindowAddtocart");
}
});
最佳答案
你可以尝试这样的事情:
$('.boxContent>div.strikeWindow:hidden')
.next('.blockElement')
.addClass('strikeWindowAddtocart');
.strikeWindowAddtocart{ background:red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="boxContent" >
<div class="strikeWindow" style="display:none">I'm Hidden</div>
<div class="blockElement">BlockElement after hidden strikeWindow</div>
</div>
<div class="boxContent" >
<div class="strikeWindow" style="display:block">Visible strikeWindow</div>
<div class="blockElement">BlockElement after visible strikeWindow</div>
</div>
关于javascript - jQuery : Add class to a element based on a condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26658048/