修改SVG文档后getElementById()不工作
问题描述:
我有一个SVG文档;说如下:修改SVG文档后getElementById()不工作
<svg>
<g ...>
<rect id="perm1" ../>
<rect id="temp1" ../>
</svg>
在运行时
,我使用Java脚本函数(见下文),改变从“temp1中”到“calc_id1”第二“矩形”的ID;但在修改后立即调用另一个函数,我试图使用getElementById()和新的id'calc_id1'来检索rect元素。但它返回null。我不确定,这里有什么问题,但我可以确认rect元素已更新为新ID。任何线索或答案都会对我有很大的帮助。
请注意,我使用的是IE9。
changeID(xmlDoc, "//g[@id='temp1']", "calc_id1");
function changeID(xmlDoc, xPath, newIdValue) {
var node = xmlDoc.selectSingleNode(xPath);
if (node!=null){
var oAttr = node.attributes.getNamedItem("id");
if (oAttr!=null){
oAttr.text = newIdValue;
}
return node;
}
else {
return null;
}
}
请添加设置ID的JavaScript代码段,以确认该位没有任何问题。 – 2012-02-11 13:40:35
添加了所需的java脚本功能! – 2012-02-11 18:16:12
我认为应该有一个错字错误。它应该是 changeID(xmlDoc,“// rect [@ id ='temp1']”,“calc_id1”); – rajkamal 2012-02-13 06:21:03