n'abend,
editHandle=document.createElement("input");
// (... Diverse Eigenschaftsänderungen), darunter auch
editHandle.id="id_des_neuen_inputs";
cHandle.appendChild(editHandle);
// editHandle.focus();
document.getElementById('id_des_neuen_inputs').focus();
MythBuster der Stunde:
`document.createElement('p')`{:.language-javascript} liefert eine Referenz auf das erstellte Objekt, nicht das Objekt selbst.
`document.getElementById('eineID')`{:.language-javascript}, sowie alle anderen getElement\* Funktionen, liefert eine Referenz auf das gesuchte Objekt, nicht das Objekt selbst.
~~~javascript
// wir erstellen ein Objekt
var theBody = document.getElementsByTagName( 'body' )[0];
var newElement = document.createElement( 'p' );
newElement.id = 'newID';
theBody.appendChild( newElement );
// wir holen uns das Objekt
var theElement = document.getElementById( 'newID' );
/*
* hier haben wir nun 2 Referenzen auf das selbe Objekt.
* newElement ist die Referenz, die wir beim Erstellen bekommen haben
* theElement ist die Referenz, die wir durch getElementById() bekommen haben.
* beide verweisen auf das gleiche Objekt
* beide Referenzen haben die gleiche Gültigkeit
*/
An dieser Stelle ist ein getElement*() also sinnlos, da wir ja bereits eine Referenz auf das Objekt besitzen. JA! diese können wir sogar "speichern". Bspw. in einem Array - um uns später die Hangelei durch den DOM-Tree zu ersparen.
weiterhin schönen abend...
--
wer braucht schon großbuchstaben?
sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|
wer braucht schon großbuchstaben?
sh:( fo:# ch:# rl:° br:> n4:& ie:{ mo:} va:) de:] zu:} fl:{ ss:? ls:[ js:|