Mathias Brodala: svg mit js erstellen

Beitrag lesen

Hallo mcclane.

var shape = svgDocument.createElementNS(svgns, "path");

for (var i=0; i<5; i++)
{
  shape.setAttributeNS(null, "id", "strich"+nr);
  shape.setAttributeNS(null, "d", "M" + xKoord + ",240 l15,0");
  shape.setAttributeNS(null, "style", "stroke:black; stroke-width:3;");

svgDocument.documentElement.appendChild(shape);

xKoord = xKoord + 30;
  nr++;
}


>   
> ###############################################  
>   
> das problem ist, dass scheinbar jedes mal ein neues element erzeugt und das alte überschrieben wird. deswegen habe ich extra die id strich+nr hinzugefügt, aber hilft nichts.  
> d.h. die for wird zwar 5mal durchlaufen aber es entstehen keine 5 striche, sondern nur einer.  
>   
> wo ist mein denkfehler?  
  
In deinem Verständnis der Funktionsweise von [appendChild](http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-184E7107):  
  

> Adds the node newChild to the end of the list of children of this node. If the newChild is already in the tree, it is first removed.  
  
Du musst also wirklich händisch per createElementNS immer wieder ein neues Objekt erzeugen.  
  
  
Einen schönen Sonntag noch.  
  
Gruß, Mathias  

-- 
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)  
  
debian/rules