我通过一个简单的例子来解释这个问题。我有以下 html 页面。这很简单。
有一个名为 TestDiv 的 CSS 类和两个 javascript 函数。
- addDiv创建新的 div 并通过单击按钮“添加新 div”将其附加到页面。
- setBlue是我想更改具有类TestDiv的 div 的颜色的函数,但我不知道如何。
您可以看到我编写了一些代码来更改setBlue函数中当前生成的 Div。但我不知道如何更改类以影响之后由addDiv函数生成的新 div。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.TestDiv {
color:red;
}
</style>
<script>
function addDiv() {
var newDiv = document.createElement("div")
newDiv.className = "TestDiv";
newDiv.innerHTML = "test";
document.getElementById("firstDiv").insertBefore(newDiv);
}
function setBlue() {
var currentDivList=document.getElementsByClassName("TestDiv");
for(var i=0;i<currentDivList.length;i++){
currentDivList[i].style.color = "blue";
}
// What i can write here to change the TestDiv css class
// And after that, new (div)s will generate by new color(changed css class)
}
</script>
</head>
<body>
<div id="firstDiv" class="TestDiv">
test
</div>
<input type="button" value="add new div" onclick="addDiv();"/>
<input type="button" value="change color to blue" onclick="setBlue();"/>
</body>
</html>