ChrisB: Was ist 'this' ?

Beitrag lesen

Hi,

was ist eigentlich 'this' als Parameter an eine Funktion?

http://de.selfhtml.org/javascript/sprache/objekte.htm#this

Bei Klick auf dieses läuft die aufgerufene Funktion korrekt:

<td id="p101_table_7"><a href="#" class="sortheader" onclick="ts_resortTable(this, 7);return false;">Tel<span class="sortarrow">&nbsp;&nbsp;<img class="ic_kl" src="css/sort_none.gif" alt="↓"></span></a></td>

  
Hier wird die Referenz auf den Link, auf dem dieses onclick stattfindet, als Parameter uebergeben.  
(Wenn die Funktion dann mit der Tabellenzelle was anstellen will(?), muss sie sich von dort erst mal "hochhangeln", ueber parentNode o.ae.)  
  

> aber bei Klick auf dieses gibt es in der Funktion einen Fehler:  
> ~~~javascript
  

> <td id="p101_table_7"><a href="#" class="sortheader" onclick="ts_resortTable(document.getElementById('p101_table_7'), 7);return false;">Tel<span class="sortarrow">&nbsp;<img class="ic_kl" src="css/sort_none.gif" alt="↓"></span></a></td>  
> 

Jetzt wird Referenz auf die Tabellenzelle uebergeben.
Versucht die Funktion damit das gleiche zu machen, wie zuvor mit dem Link, landet sie natuerlich u.U. ganz woanders im DOM-Baum.

und ich dachte, 'this' ist der Knoten, den man auch mit seiner id benennen könnte.

Was this referenziert, ist immer vom Kontext seiner Benutzung abhaengig.

MfG ChrisB

--
„This is the author's opinion, not necessarily that of Starbucks.“