javascript - 更改父类时更改子类的CSS属性

标签 javascript html css

我在另一个 div 中有一个 div。父级有一个特定的类名,没有专门应用任何 css。子元素应用了 CSS,特别是它的背景颜色。所以它看起来像这样......

<div id='myparent' class='someclass'>
    <div id='mychild' class='somebgcolor'></div>
</div>

我想做的是当父div的类改变时改变子div的背景颜色。所以我正在用这个 javascript 改变父类...

document.getElementById('myparent').className = 'someotherclass';

在我的 CSS 中...

.someclass .somebgcolor {
    background-color: #369;
}
.someotherclass .somebgcolor {
    background-color: #401;
}

但它不起作用。对于初学者来说,初始背景颜色甚至没有应用,当我更新父 div 的类时也没有应用背景颜色。我是否遗漏了一些关于将 CSS 应用于嵌套元素的工作方式的基础知识?

最佳答案

我认为您没有遗漏任何东西。我刚刚试了一下,效果很好:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    .someOtherClass {
        background-color: yellow;
    }

    .someOtherClass .someBgColor {
        background-color: red;
    }
    </style>
</head>
<body>
    <div id="myParent" class="someClass">
        <div id='myChild' class="someBgColor">
            asdasadasd
        </div>
    </div>

    <script>
        var parent = document.getElementById('myParent');
        parent.className = "someOtherClass";
    </script>
</body>
</html>

关于javascript - 更改父类时更改子类的CSS属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267758/

相关文章:

javascript - 我如何提取和组合内联 css 样式属性

html - 相对定位出错按照绝对

javascript - 悬停()事件处理程序不尊重动态更改的类

html - 用于制表 XML 的通用 XSLT

php - 制作画廊页面的最佳方式

javascript - 如何将特定的 div 放在其他 div 之前?

css - 具有 float 属性的 div 布局

javascript - AngularJS下拉列表第一个值为空

javascript - Chrome webtools 调试器自行恢复脚本执行

javascript - 如何使用新的 props 更新模态组件