element mit id erzeugen
Tobias
- javascript
Hallo
Ich versuche über DOM ein Element zu erzeugen und mit einer ID zu versehen.
Probleme macht in der ersten Version, dass das Attribut Id ein read only Attribut ist.
Die Zweite Version erzeugt weder eine Fehlermeldung noch eine Id.
Geht das überhaupt?
Bei dem Erzeugen des elements kann man die Id leider nicht mitgeben(oder?). Und danach nicht setzen?
Oder sehe ich den Wald vor lauter Tags nicht?
Version 1
var tag = document.createElement(elem);
tag.appendChild(text);
eval("tag." + id + " = '" + idname"');
document.getElementById("hierhin").appendChild(tag);
Version 2
var tag = document.createElement(elem);
tag.appendChild(text);
var atobj = document.createAttribute("id");
atobj.nodeValue = idname;
tag.setAttributeNode(atobj);
document.getElementById("hierhin").appendChild(tag);
??????????????????????????
Hallo,
hast du es schon mal mit tag.id='bla'; versucht?
gruss
Hallo,
hast du es schon mal mit tag.id='bla'; versucht?
gruss
das habe ich in der ersten version mit variablen geschrieben
funktioniert nicht da id ein read-only attribut ist
Hallo,
bei mir funktioniert das im Mozilla, IE und Netscape.
gruss
Hallo Tobias,
Ich versuche über DOM ein Element zu erzeugen und mit einer ID zu versehen.
Ohne es ausprobiert zu haben:
/* Element erstellen */
var myElement = document.createElement("div");
/* Attribut und gleich dazu den Attributwert setzen */
myElement.setAttribute("id", "bla");
/* Element irgendwo einhängen */
document.getElementsByTagName("body")[0].appendChild(myElement);
Es gibt sowas wie ein abstraktes Objekt, dessen Methoden für jedes Element
im HTML- oder XML-DOM-Baum gelten, das node-Objekt. setAttribute ist eine
Methode davon, siehe auch hier:
http://selfhtml.teamone.de/javascript/objekte/node.htm
Tim
Aus dieser Quelle habe ich mein Wissen bezogen,
allerdings habe ich die Schreibweise mit direkter Attributzuweisung noch nicht versucht.
Das teste ich doch gleich mal
Danke fürs erste
/* Attribut und gleich dazu den Attributwert setzen */
myElement.setAttribute("id", "bla");
Tim
Klasse
Das scheint zu funktionieren
Vielen Dank