Thomas Meinike: createDocumentFragment

Beitrag lesen

Hallo,

Wie man erkennen kann, wurden leere Tags mit eingefügt: <></> . Woher kommen die? Wie kann man verhindern, dass sie mit eingefügt werden?

Ohne konkrete Angaben zum Code und zur verwendeten Plattform/Sprache kann man da nur raten.

Hier mal ein SVG-Testbeispiel und es werden (unter Verwendung des ASV 3.01) keine "leeren Tags" erzeugt:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">

<svg onload="Test(evt)">

<defs>

<script type="text/javascript">
<![CDATA[

function Test(evt)
{
  var doc,df,el,tx;

doc=evt.target.ownerDocument;

df=doc.createDocumentFragment();
  el=doc.createElement("text");
  el.setAttribute("x","20");
  el.setAttribute("y","50");
  el.setAttribute("fill","#F00");
  tx=doc.createTextNode("Hallo Welt!");
  el.appendChild(tx);
  df.appendChild(el);
  alert(printNode(df)); // Ergebnis: <text x="20" y="50" fill="#F00">Hallo Welt!</text>
  doc.rootElement.appendChild(df);
}

]]>
</script>

</defs>

</svg>

MfG, Thomas