2016-04-07 14 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>

如果您希望孩子回到白當鼠標離開使用mo​​useout事件有新的事件監聽。

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

或用CSS:'.child:hover {background:grey;}'..看不到用javascript做這個要點.. – Laurens

+1

我知道......但他們要求在JavaScript中使用JavaScript ...使用CSS會容易得多。 – Wowsk

相關問題