Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Problema evidenziamento div
Forum - Javascript - Problema evidenziamento div

Avatar
LukeMilan (Normal User)
Rookie


Messaggi: 42
Iscritto: 30/05/2012

Segnala al moderatore
Postato alle 21:01
Lunedì, 28/07/2014
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 il 28/07/2014 alle 21:17
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 9:34
Martedì, 29/07/2014
Devi usare il selettore di tipo class:
Codice sorgente - presumibilmente Delphi

  1. <!DOCTYPE html>
  2. <html>
  3. <head></head>
  4. <body>
  5.  
  6. <div class="result">a</div>
  7. <div class="result">b</div>
  8. <div class="result">c</div>
  9.  
  10. <script type="text/javascript">
  11.  
  12. function onMouseOver(){
  13.   this.style.background='#eee';
  14. }
  15.  
  16. function onMouseOut(){
  17.   this.style.background='#fff';
  18. }
  19.  
  20. window.onload = function WindowLoad(event) {
  21.  //prendo tutti gli elementi con class = result
  22.  var divs = document.getElementsByClassName('result');
  23.  //per ogni elemento
  24.  for(var i in divs){
  25.    //associo le mie funzioni agli eventi che mi interessano
  26.    divs[i].onmouseover = onMouseOver;
  27.    divs[i].onmouseout  = onMouseOut;
  28.  }
  29.  
  30. }
  31. </script>
  32.  
  33. </body>
  34. </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 il 29/07/2014 alle 9:35
PM Quote
Avatar
chiara91 (Normal User)
Newbie


Messaggi: 10
Iscritto: 07/05/2014

Segnala al moderatore
Postato alle 17:48
Venerdì, 12/09/2014
Non è corretto avere più elementi con lo stesso id, dovresti usare le classi.

PM Quote