javascript - 按类获取元素,以类名定位页面上的所有元素

标签 javascript css class getelementsbyclassname

我正在尝试展示管道中的不同元素阶段。当用户将鼠标悬停在管道的每个阶段时,该阶段内元素的边框颜色会更改以突出显示它们。很简单。

好吧,我似乎无法定位该页面上类(class)中的所有元素,它只能让我使用 [0] 定位一个元素。但我需要它来获取该类中的所有 div,而不仅仅是 1 个。似乎是一个简单的解决方法,但我似乎找不到任何与此相关的信息。

    <script>
function scanSHOW() {

    document.getElementsByClassName('scan-item')[0].style.border="2px #FF0000 solid";}

function scanHIDE() {   

document.getElementsByClassName('scan-item')[0].style.border="2px #666666 solid";}

    </script>


<style>.scan-item {border: 2px #666666 solid;}</style>

HTML:

<img id="pipes" src="pipeline.png" usemap="#pipeline" width="483" height="221">

<map name="pipeline">
  <area shape="rect" coords="1,69,66,221" href="#" onMouseOver="scanSHOW();" onMouseOut="scanHIDE();" alt="Scan" title="Scan">

</map>

<br/>

<div  class="scan-item block"></div> <div  class="scan-item block"></div> <div  class="scan-item block"></div> <div  class="scan-item block"></div>

最佳答案

这正是循环的用途。一个简单的 for 循环依次循环遍历每个元素就可以解决问题。像这样的东西:

var elements = document.getElementsByClassName('scan-item');
for (var i = 0; i < elements.length; i++) {
    elements[i].style.border="2px #FF0000 solid";
}

关于javascript - 按类获取元素,以类名定位页面上的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38772786/

相关文章:

java - 如何克服 HTMLUnit ScriptException?

javascript - 返回 undefined object

css - 如何在拉伸(stretch)div后强制出现div

c++ - 警告 : Comparison between signed and unsigned integer expression

ios - swift 2 : Instance Member cannot be used on type "View Controller"

javascript - 在 JavaScript forEach 循环中转到 "next"迭代

javascript - 首次与 DOM 交互时调用函数(在桌面浏览器上单击/在移动浏览器上点击)

html - 从一个简单的 HTML 列表开始,使用 CSS 创建类似表格的网格

javascript - 有没有一种方法可以通过将鼠标悬停在图像上来滚动 div 的内容

javascript - 在 JavaScript 中封装类定义以实现更清晰的命名空间