0

(Javascript)我从这里的另一篇文章中窃取了这个非常好的代码。
它用 更改style.backgroundColor这些div元素的.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通过. 如果强者也能工作,那就太好了。object properties<script>
addEventListener

4

2 回答 2

2

只需更改getElementsByTagNamegetElementsByClassName

这是工作小提琴和代码 -

<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,因为 id 应该是唯一的。

于 2015-12-12T11:37:55.317 回答
1

要通过 css 类获取元素,您可以使用getElementsByClassName函数

document.getElementsByClassName("classEl");

请注意,在您的情况下使用“id”更好,因为 html 不允许在同一个文档上使用多个相同的 id。

要获取元素(不是元素),您可以:

document.getElementById("my_unique_id");

你可以看到工作示例 -这里

于 2015-12-12T11:35:49.177 回答