javascript - jQuery : Add class to a element based on a condition

标签 javascript jquery html

在下面的代码片段中,如果具有 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/

相关文章:

javascript - 如何确定请求者是我的网络应用程序

php - jQuery.post 没有收到来自 php 脚本的错误

javascript - 使用 AJAX/Javascript/jQuery 自动更新 HTML/PHP 表格以淡入新结果并淡出旧结果

html - xsltproc html 文档

javascript - 如何在 lodash forEach 中使用 Promise all 并解决它并执行 res.send(data)

javascript - 如何在 react 导航 5.x 中隐藏选项卡导航(底部选项卡)的标题?

javascript - 无法解除嵌套 <li> 的点击绑定(bind)

javascript - 限制一次预订的座位数量

javascript - Jquery 表单验证脚本

javascript - JQuery onclick 函数未执行