【发布时间】:2017-01-15 18:06:27
【问题描述】:
所以情况是这样的......
我有一个带有特定 css 类的 HTML 元素。我想更改该特定类的属性值,而不更改 HTML 元素本身。
HTML 代码:
<style>
.someClass{
background-color:red;
}
span .someOtherClass {
background-color:blue;
}
</style>
<span class="someClass someOtherClass">some text</span>
我正在寻找一个 JS 代码,它可以使“.someClass”标识符具有“background-color:green”;
我想更改类本身而不仅仅是使用 .css 选项的原因是 .css 更改了 HTML 元素的样式属性(内联)。用例是在 span 元素中动态添加和删除第二个类 (someOtherClass) 的地方。使用 .css 更改具有“.someClass”类的元素将更改元素的内联样式,结果如下:
<span class="someClass someOtherClass" style="background-color:green;">some text</span>
这意味着从 span 元素中添加和删除“someOtherClass”不会有任何影响。
我确实考虑过从 span 元素中删除 someClass 并将其替换为一些具有“背景颜色:绿色”的新动态创建的类,但我想知道是否有更优雅的东西。
我们将不胜感激。
【问题讨论】:
-
我不太明白这个问题。使用 css(来自样式块或文件,而不是通过属性)not 不会更改内联样式。另一方面,直接使用 javascript 设置样式会。
-
您可以使用类覆盖内联样式集,方法如下:jsfiddle.net/qsy3f3v0
标签: javascript jquery html css