javascript - 在 JavaScript 中间接应用 CSS

标签 javascript css

当你编写真正的 CSS 时你可以这样做

.blue { color: blue; }

如果您在加载后向元素添加“blue”类,它会变成蓝色。

在 JavaScript 中你必须做类似的事情

var blue = document.getElementsByClassName('blue');
for (var i = 0; i < blue.length; i++)
     blue[i].style.setProperty('color', 'blue');

JavaScript 版本的问题是如果你这样做了

document.getElementById('someId').className += " blue";

它会有蓝色类,但它不会变成蓝色。 有没有什么方法(最好是简单的)将样式添加到选择器,而不是直接添加到带有该选择器的元素?

最佳答案

最常见的方式是定义.blue { color:blue; } 在 CSS 之前,然后通过 JS 将类添加到元素。这样样式在 CSS 中,只有类名在 JS 中,使其更加灵活,而不是在 JS 中硬编码数十个 css 键/值。

关于javascript - 在 JavaScript 中间接应用 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5049425/

相关文章:

css - 如何创建仅 CSS(垂直)下拉菜单?

基于 CSS 背景的图表

JavaScript,找不到变量

javascript - return false 在 javascript 验证中不起作用

javascript - 在 AngularJS 中只打印一次 div

css - 我如何才能像隐藏我的信的软端一样?

css - React 组件和 CSS : style items in the same element differently

javascript - 如何从提交按钮上移除焦点

javascript - 使用 PDF.js 查看器显示 protected 资源提供的 pdf

jquery - 为横幅创建响应式 div