Gilles
Blogger
Halloo,
Ich probiere zur Zeit ein Element zu erstellen. Dafür habe ich mir eine Funktion geschrieben welcher ich ein Assoziatives Array mitgeben kann. (oder einen JSON String). Dabei sieht das Array dann zum Beispiel so aus
Nun will ich mit einer foreach Schleife diese Attribute des Elements setzen.
Das Problem ist nun, dass die Attributnamen ja den Typ String haben.
Hatte mir schon gedacht, mit eval zu arbeiten, komme aber leider nicht dahinter.
Hier mal die Funktion:
Hoffe ihr wisst da Rat, wie ich das umsetzen kann :)
Ich probiere zur Zeit ein Element zu erstellen. Dafür habe ich mir eine Funktion geschrieben welcher ich ein Assoziatives Array mitgeben kann. (oder einen JSON String). Dabei sieht das Array dann zum Beispiel so aus
Code:
var attrArray = {
"id" : "myId",
"className" : "myClassName"
};
Nun will ich mit einer foreach Schleife diese Attribute des Elements setzen.
Das Problem ist nun, dass die Attributnamen ja den Typ String haben.
Hatte mir schon gedacht, mit eval zu arbeiten, komme aber leider nicht dahinter.
Hier mal die Funktion:
PHP:
/**
* Erstellt ein Element mit allen gewünschten Attributen
*
* @param String
* element Benötigt den Element-Tag-Name als String (z.B. "li")
* @param jsonAttributeList
* Attribute-Liste in JSON-Form (z.B. {"id" : "myId", "className" :
* "myClassName"})
* @return object
*/
var createEle = function(element, jsonAttributeList) {
listAttr = jsonAttributeList;
var ele = document.createElement(element);
// Typ-Prüfung
var typ = typeof listAttr;
if(typ.toLowerCase() == "object") {
// Attribute setzen für das Element setzen (z.B. ClassName oder Id)
for ( var attr in listAttr) {
ele.attr = listAttr[attr];
}
}
return ele;
};
Hoffe ihr wisst da Rat, wie ich das umsetzen kann :)