molily: Zugriff auf DOM-Elemente mit display:hidden;

Beitrag lesen

for (var i=0;i<tooltips.length;i++) {
  var tooltip_text = tooltips[i].getElementsByTagName('div').[0].innerHTML;
  tooltips[i].addEventListener("mouseover", function(){showWMTT(tooltip_text), false);
  tooltips[i].addEventListener("mouseout", function(){hideWMTT(), false);
}

  
Du verwendest eine [Closure](http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#closures) (verschachtelte Funktion, die Zugriff auf die Variable der äußeren Funktion hat) in einer Schleife.  
[Suche im Forumsarchiv](http://suche.de.selfhtml.org/?index_4=on&index_5=on&feld=alle&hits=alle&suchausdruck=closure+schleife)  
  
Wenn die Handlerfunktion ausgeführt wird, ist der Wert der Variablen der vom letzten Schleifendurchlauf.  
  
Einfache Lösung hier:  
Speichere den Tooltip-Text in einer Eigenschaft an dem Element und greifst im Event-Handler über this auf das Element zu, um die Eigenschaft wieder auszulesen:  
  
~~~javascript
for (var i = 0, t, length = tooltips.length; i < length; i++) {  
   t = tooltips[i];  
   t.tooltip_text = t.getElementsByTagName('div'][0].innerHTML;  
   t.addEventListener("mouseover", function () {  
      showWMTT(this.tooltip_text);  
   });  
}

Mathias