0
我有一個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