0
document.createSvg = function(tagName) {
   var svgNS = "http://www.w3.org/2000/svg";
   return this.createElementNS(svgNS, tagName);
};

var svgPie = document.createSvg("svg");
metric_name = document.createSvg("g");


text_metric = document.createSvg("text");
text_metric.appendChild(document.createTextNode(data[i]['name']));
text_metric.setAttribute("name",data[i]['name']);
text_metric.setAttribute("text-anchor","start");
text_metric.setAttribute("font-size","13");
text_metric.setAttribute("id", data[i]['id']);

resetList =  document.getElementsByTagName("text");

alert(resetList[0]); 

metric_name.appendChild(text_metric);
svgPie.appendChild(metric_name);

アラートを超えると、未定義になります。原因と解決方法を教えてください

4

1 に答える 1

2

SVG を DOM に追加することなく実行document.getElementsByTagName('text')しているため、結果は常に空です。

できるよ...

document.body.appendChild(svgPie);
resetList =  document.getElementsByTagName("text");
alert(resetList[0]);

そしてそれはうまくいくでしょう。

于 2013-03-24T17:34:29.293 に答える