document.getElementsByTagName(“svg_text”)无效

时间:2013-03-24 17:06:08

标签: javascript svg

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);

以上提醒我未定义。你能给出理由和解决方案吗

1 个答案:

答案 0 :(得分:2)

您正在执行document.getElementsByTagName('text')而没有将SVG附加到DOM,因此结果始终为空。

你可以......

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

它会起作用。