2016-04-07 13 views
0

私はそれの中にdivを持つdivを持っています。Javascriptを使用してロールオーバー時にdiv内の要素の色を変更するにはどうすればよいですか?

<div class="parent"> 
    <div class="child"> 
    Content 
    </div> 
</div> 
<div class="parent"> 
    <div class="child"> 
    Content 
    </div> 
</div> 
<div class="parent"> 
    <div class="child"> 
    Content 
    </div> 
</div> 
... 

javascriptを使用して、ホバー上の ".child"要素の色を変更したいと思います。私はjavascriptを使用し、jqueryではなくcssでなければなりません。

アイデア?

+2

なぜCSSを使用できないのですか? CSSを使用すると、子divに ':hover'を使用することができます。 – Laurens

+0

私はできると思いますが、できません。その愚かな長い話。私ができるなら、それはとても簡単だろう。 : – michelle

答えて

1

イベントを受信するすべての子にeventListenerを追加する必要があります。mouseover

var children = document.getElementsByClassName("child"); 
 
for(var i=0; i<children.length; i++) { 
 
    children[i].addEventListener("mouseover",function() { 
 
    this.style.background = "grey"; 
 
    }) 
 
}
<div class="parent"> 
 
    <div class="child"> 
 
    Content 
 
    </div> 
 
</div> 
 
<div class="parent"> 
 
    <div class="child"> 
 
    Content 
 
    </div> 
 
</div> 
 
<div class="parent"> 
 
    <div class="child"> 
 
    Content 
 
    </div> 
 
</div>

あなたは、マウスの葉は新しいのEventListenerとマウスアウトイベントを使用するときに子供たちが白に戻りたい場合。

children[i].addEventListener("mouseout",function() { 
    this.style.background = "white"; 
}) 
+0

またはCSS: '.child:hover {background:grey;}' .. javacriptでこれを行うことの要点は表示されません。 – Laurens

+1

私は知っています...しかし、彼らはJavaScriptでそれを求めました... CSSのほうがはるかに簡単です。 – Wowsk

関連する問題