Thomas J.S.: with() ?

Beitrag lesen

Hallo,

Leichter wäre es also, es so zu schreiben:

with(document.getElementById("test")) {

id = "test";
      src = "http://grafik.gif";
      alt = "Alternativtext";
}


>   
> Jetzt nehmen wir mal an, ich will nach dem Setzen der ID eine Meldung ausgeben lassen, dass alles geklappt hat oder so :-)  
>   
> Dazu müsste ich also  
>   
> `window.alert("Alles bestens!");`{:.language-javascript}  
>   
> schreiben.  
>   
> Kann ich diesen Code einfach so in die with()-Anweisung reinschreiben?  
  
Können schon, nur es wird zu einem Fehler führen.  
  

> Also erkennt der Browser automatisch, dass ich das window-Objekt anspreche und dessen alert-Methode aufrufe, oder denkt der Browser, dass "window" ein Unterobjekt von "document.getElementById("test")" ist?  
>   
  
"with" nimmt ein Objekt und referenziert auf alle Eigenschaften, Methoden und Events dieses Objekts.  
Wenn du also  
with(document.getElementById("test")) {  
 alert()  
}  
schreibst, referenzierst auf document.getElementById("test").alert (oder eben auf document.getElementById("test").window.alert) die es natürlich nicht gibt.  
  
Grüße  
Thomas