Oppure

Loading
28/07/14 19:01
LukeMilan
Dato questo codice:
<script>
window.onload = function WindowLoad(event) {
document.getElementById('result').onmouseover=function(){this.style.background='#eee'}
document.getElementById('result').onmouseout=function(){this.style.background='#fff'}
}
</script>
<div id="result">a</div>
<div id="result">b</div>
<div id="result">c</div>

Mi evidenzia al passaggio del mouse soltanto il primo elemento..perchè??
Ultima modifica effettuata da LukeMilan 28/07/14 19:17
aaa
29/07/14 7:34
Bonny
Devi usare il selettore di tipo class:
<!DOCTYPE html>
<html>
<head></head>
<body>

<div class="result">a</div> 
<div class="result">b</div> 
<div class="result">c</div> 

<script type="text/javascript"> 

function onMouseOver(){
  this.style.background='#eee';
}

function onMouseOut(){
  this.style.background='#fff';
}

window.onload = function WindowLoad(event) { 
 //prendo tutti gli elementi con class = result
 var divs = document.getElementsByClassName('result');
 //per ogni elemento
 for(var i in divs){
   //associo le mie funzioni agli eventi che mi interessano
   divs[i].onmouseover = onMouseOver;
   divs[i].onmouseout  = onMouseOut;
 }

} 
</script>

</body>
</html>


perchè la funzione getElemetById(id) ritorna l'elemento con l'id specificato a differenza di getElementsByClassName (come vedi Elements) ritorna tutti gli elementi della classe specificata.
Ultima modifica effettuata da Bonny 29/07/14 7:35
aaa
12/09/14 15:48
chiara91
Non è corretto avere più elementi con lo stesso id, dovresti usare le classi.
aaa