Sie können Element.setAttribute
verwenden
Beispiele:
g.setAttribute("id","IhreId")
g.setAttribute("class","tclose")
Hier ist meine Funktion, um dies besser zu machen:
function createElement(element, attribute, inner) {
if (typeof(element) === "undefined") {
return false;
}
if (typeof(inner) === "undefined") {
inner = "";
}
var el = document.createElement(element);
if (typeof(attribute) === 'object') {
for (var key in attribute) {
el.setAttribute(key, attribute[key]);
}
}
if (!Array.isArray(inner)) {
inner = [inner];
}
for (var k = 0; k < inner.length; k++) {
if (inner[k].tagName) {
el.appendChild(inner[k]);
} else {
el.appendChild(document.createTextNode(inner[k]));
}
}
return el;
}
Beispiel 1:
createElement("div");
wird dies zurückgeben:
Beispiel 2:
createElement("a",{"href":"http://google.com","style":"color:#FFF;background:#333;"},"google");`
wird dies zurückgeben:
google
Beispiel 3:
var google = createElement("a",{"href":"http://google.com"},"google"),
youtube = createElement("a",{"href":"http://youtube.com"},"youtube"),
facebook = createElement("a",{"href":"http://facebook.com"},"facebook"),
links_container = createElement("div",{"id":"links"},[google,youtube,facebook]);
wird dies zurückgeben:
google
youtube
facebook
Sie können neue Elemente erstellen und Attribute festlegen und Kinder anhängen
createElement("tag",{attr:val,attr:val},[element1,"some text",element2,element3,"or some text again :)"]);
Es gibt keine Begrenzung für Attribute oder Kind-Element(e)
5 Stimmen
Oder meinst du
g.id = 'foo';
?1 Stimmen
Ich weiß jetzt, dass ich die Leiter gemeint habe :)
3 Stimmen
Diese Google-Suche liefert einige vernünftige Ergebnisse.