我不明白为什么我无法创建新的 xml 节点。
该代码是尝试创建一个新节点并更新视图。
即使是我无法在警报中捕获的 textContent 属性。
代码有什么问题吗?另一个疑问。为什么它在 IE 上不起作用?
完整代码:http: //jsfiddle.net/AdKfp/1/
我的 XML:
<?xml version='1.0'?>
<form>
<column id='1' name='Field1' value='Value 1' />
<column id='2' name='Field2' value='Value 2' />
<column id='3' name='Field3' value='Value 3' />
<column id='4' name='Field4' value='Value 4' />
<column id='5' name='Field5' value='Value 5' />
<column id='5' name='Field6' value='Value 6' />
</form>
我的 XSL:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Fund Infos</h2>
<table border="1">
<tr>
<th>#</th>
<th>#</th>
<th>#</th>
<th>#</th>
</tr>
<xsl:for-each select="form/column">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><input value="{@value}" /></td>
<td><input type="button" value="Add" onclick="addNode();" /></td>
<td><input type="button" value="Remove" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Javascript 片段:
function addNode(){
alert(xml.textContent);
newel=xml.createElement("column");
newel.setAttribute("Name", "New Field");
newel.setAttribute("Value", "New Value");
alert(newel.textContent);
x=xml.getElementsByTagName("form")[0];
x.appendChild(newel);
alert(x.textContent);
displayResult();
}