我通过AJAX拉入XML文档并尝试在文档顶部插入一个新节点,但我在每个匹配的子节点上方插入了一个新节点。我原以为使用.children(0)
我只会这样做一次。
我的错误是什么?
$.ajax({
type: "GET",
url: fileUrl,
dataType: "xml",
success: parseResultsXML
});
function parseResultsXML(xml) {
$(xml).children(0).children(0).before("<item>New Node</item> \n");
var xmlOutput = new XMLSerializer().serializeToString(xml);
console.log(newfile, xmlOutput);
}
//Original File
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>Existing Node 1</item>
<item>Existing Node 2</item>
</items>
//Expected Output
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>New Node</item>
<item>Existing Node 1</item>
<item>Existing Node 2</item>
</items>
//Actual Output
<items>
<item>New Node</item>
<item>Existing Node 1</item>
<item>New Node</item>
<item>Existing Node 2</item>
</items>
答案 0 :(得分:1)
.children()可选择接受selector作为参数,但不接受索引
您可以使用.children(':first')
或.children().eq(0)
。
<div>
<span>first</span>
<span>second</span>
</div>
console.log($('div').children().eq(0).text());
console.log($('div').children(':first').text());