通过 javascript 的对象属性修改多个元素的样式
modifying the style of multiple elements via javascript's object properties
(Javascript) 我在这里从另一个 post 那里偷了这个非常好的代码。
它将那些 div
元素的 style.backgroundColor
更改为 .onmouseover
。
<div id='idEl' class='classEl'>1</div>
<div id='idEl' class='classEl'>2</div>
<div id='idEl' class='classEl'>3</div>
<div id='idEl' class='classEl'>4</div>
<div id='idEl' class='classEl'>5</div>
<script>
var div = document.getElementsByTagName("div");
for(var i = 0; i < div.length; i++) {
div[i].onmouseover = function() {
this.style.backgroundColor = "green";
}
</script>
这行得通,但我不想用 TagName
来做(那会弄乱我所有其他几十个 div
),我想让它与 id
一起工作(如果可能的话)或 className
.
在不使用 html attributes
的情况下,所有操作都应通过 <script>
.
中的 object properties
完成
如果强大的 addEventListener
也能工作就好了。
要通过 css class 获取元素,您可以使用 getElementsByClassName 函数
document.getElementsByClassName("classEl");
请注意,在您的情况下最好使用 'id',因为
html 不允许在同一文档上使用多个相同的 ID。
要获取元素(不是元素),您可以:
document.getElementById("my_unique_id");
您可以看到工作示例 - here
只需将 getElementsByTagName
更改为 getElementsByClassName
这里是 Working fiddle 和代码 -
<div id='idEl' class='classEl'>1</div>
<div id='idEl' class='classEl'>2</div>
<div id='idEl' class='classEl'>3</div>
<div id='idEl' class='classEl'>4</div>
<div id='idEl' class='classEl'>5</div>
<script>
var div = document.getElementsByClassName("classEl");
for(var i = 0; i < div.length; i++) {
div[i].onmouseover = function() {
this.style.backgroundColor = "green";
}
}
</script>
注意 - 你还缺少一个右括号 }
,我在上面的代码中输入了它,你对每个 div
使用相同的 ID,这是不正确,因为 ID 应该是唯一的。
(Javascript) 我在这里从另一个 post 那里偷了这个非常好的代码。
它将那些 div
元素的 style.backgroundColor
更改为 .onmouseover
。
<div id='idEl' class='classEl'>1</div>
<div id='idEl' class='classEl'>2</div>
<div id='idEl' class='classEl'>3</div>
<div id='idEl' class='classEl'>4</div>
<div id='idEl' class='classEl'>5</div>
<script>
var div = document.getElementsByTagName("div");
for(var i = 0; i < div.length; i++) {
div[i].onmouseover = function() {
this.style.backgroundColor = "green";
}
</script>
这行得通,但我不想用 TagName
来做(那会弄乱我所有其他几十个 div
),我想让它与 id
一起工作(如果可能的话)或 className
.
在不使用 html attributes
的情况下,所有操作都应通过 <script>
.
中的 object properties
完成
如果强大的 addEventListener
也能工作就好了。
要通过 css class 获取元素,您可以使用 getElementsByClassName 函数
document.getElementsByClassName("classEl");
请注意,在您的情况下最好使用 'id',因为 html 不允许在同一文档上使用多个相同的 ID。
要获取元素(不是元素),您可以:
document.getElementById("my_unique_id");
您可以看到工作示例 - here
只需将 getElementsByTagName
更改为 getElementsByClassName
这里是 Working fiddle 和代码 -
<div id='idEl' class='classEl'>1</div>
<div id='idEl' class='classEl'>2</div>
<div id='idEl' class='classEl'>3</div>
<div id='idEl' class='classEl'>4</div>
<div id='idEl' class='classEl'>5</div>
<script>
var div = document.getElementsByClassName("classEl");
for(var i = 0; i < div.length; i++) {
div[i].onmouseover = function() {
this.style.backgroundColor = "green";
}
}
</script>
注意 - 你还缺少一个右括号 }
,我在上面的代码中输入了它,你对每个 div
使用相同的 ID,这是不正确,因为 ID 应该是唯一的。