元素中的“增量”CSS类

时间:2013-03-06 14:01:45

标签: javascript jquery css

让我们假设我们有一个div元素#a-node和一个javascript方法创建一个或多个名为.b-node的其他div(在第一个内部不需要),它也添加#a-node.b-node-enabled

仅当存在.b-node-enabled专门与.b-node相关时才存在切换/启用#a-node的方法吗?

示例:

  • 如果没有人.b-node#a-node相关联,请关闭课程;
  • 如果一个或多个.b-node#a-node相关联,那么请打开课程;

如果需要,我可以使用jQuery和-webkit功能。

真正的问题

我有一个创建背景的div弹出窗口,我需要在主要内容主体上打开一个classe(不在此弹出窗口内,反之亦然,只是附加到正文),我可以拥有更多一个弹出窗口同时启用。如果没有显示弹出窗口,我只需要关闭.b-node-enabled

<body>
    <!-- MAIN CONTENT -->
    <div id="a-node" class="b-node-enabled">...</div>
    <!-- POPUPS -->
    <div class="b-node">...</div>
    <div class="b-node">...</div>
    <div class="b-node">...</div>
</body>

1 个答案:

答案 0 :(得分:2)

我不知道我是否真的理解你的问题,但也许这段代码片段可以帮助你(需要jQuery)。

function updateANodeClass() {
    if ($(".b-node").length) {
        $("#a-node").addClass("b-node-enabled");
    } else {
        $("#a-node").removeClass("b-node-enabled");
    }
}

添加或删除一个.b-node后,您必须调用该函数来更新课程。