2016-04-07 13 views
0

İçinde div bulunan bir div var.Javascript kullanarak rollover'daki div içindeki bir öğenin rengini nasıl değiştirebilirim?

<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> 
... 

".child" öğesinin rengini javascript kullanarak vurgulu olarak değiştirmek istiyorum. Javascript kullanmak zorundayım ve jquery değil css.

Herhangi bir fikrin var mı?

+2

Bunun için neden CSS'yi kullanamazsınız? css ile sadece '' hover'ı çocuk divanda kullanabilirsiniz .. – Laurens

+0

Keşke yapabilseydim, ama yapamam. Onun aptal bir hikayesi. Yapabilseydim çok kolay olurdu. :( – michelle

cevap

1

Tüm çocuklara etkinlik için mouseover dinlemeniz gereken bir eventListener eklemeniz gerekir.

fare ayrıldığında yeni EventListener ile mouseout olayını kullandığınızda çocukların beyaz geri dönmek istiyorsanız

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>
.

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

Ya da CSS: '.child: hover {background: grey;}' .. javascript ile bunu yapma noktasını görmüyorum .. – Laurens

+1

Biliyorum ... ama JavaScript’te istediler ... CSS ile çok daha kolay olurdu. – Wowsk

İlgili konular