2011-01-01 7 views
2

Ist es möglich, auf ein Element anhand seiner ID zu verweisen, während es sich in einem documentFragment befindet, bevor es an das Dokument angehängt wird?Javascript - document.createDocumentFragment() - Verweis auf ein Element nach ID

Zum Beispiel:

var docFragment = document.createDocumentFragment(); 
var newElem = document.createElement('div'); 
docFragment.appendChild(newElem); 
var newAttrib = document.createAttribute('id'); 
newAttrib.value = 'myid'; 
newElem.setAttributeNode(newAttrib); 
var newElem2 = document.createElement('span'); 
docFragment.firstChild.appendChild(newElem2); 
var newAttrib = document.createAttribute('id'); 
newAttrib.value = 'myid2'; 
newElem2.setAttributeNode(newAttrib); 

Für einige Beispiele, Ive versucht, diese,

alert(docFragment.getElementById('myid').id) < ----- aber nicht

funktioniert

alert(docFragment.document.getElementById('myid').id) < ----- aber das funktioniert nicht

Ich weiß, das funktioniert:

alert(docFragment.firstChild.id) < ----- dies funktioniert, aber ich frage mich, ob es möglich ist, es die anderen Wege

Antwort

1

No, it is not zu verweisen:

einfach ein Element zu schaffen und eine ID-Zuordnung nicht Machen Sie das Element zugänglich durch getElementById. Stattdessen muss das Element zuerst in den Dokumentbaum mit insertBefore oder einer ähnlichen Methode eingefügt werden, wahrscheinlich in ein verstecktes div.

Und außerdem, dass ein DocumentFragment implementiert nur Methoden der Node Schnittstelle und getElementById ist nicht Teil davon.

Es gibt keine anderen Möglichkeiten, ein Element nach ID zu erhalten.

+0

Vielen Dank, das war, was ich dachte, wollte nur sicher sein –

Verwandte Themen