2016-08-04 7 views
-1

パイプライン内で異なるプロジェクトステージを表示しようとしています。ユーザーがパイプラインの各ステージを移動すると、そのステージ内のプロジェクトの境界線の色が変更され、強調表示されます。ものすごく単純。クラスで要素を取得する、クラス名でページ上のすべての要素をターゲットにする

私はそのページのクラス内のすべてのアイテムをターゲットにすることはできません。[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> 

答えて

2

これは、ループがために何であるかを正確です。単純なforループは、各要素を順番に循環するので、そのトリックを行います。何かのように:

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

少し説明を投げますか?ユーザーは、まっすぐなコード修正でできるよりも多くの情報を使っているようです。 –

+0

@VoteyDiscipleはマックが完璧に働いてくれてありがとう、すぐに応答してくれてありがとう!私は時間が経過するとあなたのアンカーを受け入れます。 – Valerie

+0

そのforループ、私はドン、私はそれを使用すると思っていない理由を知っているので、 'getelementbyclass'は非常にまっすぐ進むので、私は私のフォーマットがオフであったと仮定していないように見えませんでした。皆さん、ありがとうございました! – Valerie

関連する問題