【发布时间】:2019-09-22 12:44:17
【问题描述】:
无法动态更新类的颜色。
顺便说一句,代码在没有类的情况下工作正常,但在有类的情况下,它不起作用。
function myFunction() {
var cssColor=".MyClass h1{background-color:pink;color:black;} .MyClass p{background-color:pink;color:white;}";
cssColor = cssColor.replace('pink', document.getElementById("txtColor").value);
document.getElementById("mainBody").style.cssText = cssColor;
document.getElementById("mainBody").classList.add = cssColor;
document.getElementById('mainBody').className = 'MyClass';
}
<!DOCTYPE html>
<html>
<body id="mainBody" >
<h1>Title</h1>
<p >This is a paragraph.</p>
<input type="text" name="txtColor" id="txtColor" style="display: inline-block;width: 50px; height:30px;direction: ltr" maxlength="7">
<button type="button" onclick="myFunction()">Set style for p</button>
</body>
</html>
【问题讨论】:
-
您能解释一下代码中的实际问题是什么,您面临哪种类型的问题
-
.classList.add(cssColor)— 这是一个函数 -
@PointyI 更改为
document.getElementById("mainBody").classList.add('MyClass');但没有任何变化,它不起作用 -
@AMARMAGAR 我尝试改变我的项目的颜色。所以我的项目有很多类,这是一个学习的样本。 tnx.
标签: javascript html css class getelementbyid