var $_class = document.createAttribute("class");
$_class.nodeValue = "bla";
$span.setAttributeNode($_class);Das ist überflüssig, das das Attribut bereits existiert, aber in JS aufgrund Namenskonflikten, className heißt. die anderen Attribute kannst du direkt ansprechen.
Ich verstehe nicht ganz was du mit direkt ansprechen meinst.
So etwa?
$test = document.createElement("span");
$test.className = "bla";
$test.id = "erstes";
$test.style = "color: black;";
eine eigene Funktion schreiben.
Habe ich gemacht:
function mknode($Type,$AttrStr){
//Element Erzeugen
var $element = document.createElement($Type);
//Attributsstring in Paare aufteilen
var $AttrPaar = $AttrStr.split("&");
alert($AttrPaar.length);
//für jedes Paar
for (var $i = 0; $i < $AttrPaar.length; $i++){
//Paare in Attr und Val aufteilen
var $AttrVal = $AttrPaar[$i].split("=");
//Attr und Val erzeugen
var $Attr = document.createAttribute($AttrVal[0]);
$Attr.nodeValue = $AttrVal[1];
//Attr und Val Element hinzufügen
$element.setAttributeNode($Attr);
}
return($element);
}
function add($id){
document.getElementById($id).appendChild( mknode('img','src=img/bild.pmg') );
}
Folgendes Problem bei der Funktion: Ich führe sie aus, es gibt keine Fehler oder Hinweise, aber es erscheint nichts.
Hab ich etwas übersehen?
Danke