无法在jQuery XML对象中插入元素

时间:2011-11-10 17:15:40

标签: javascript jquery html xml

我正在使用新的$ .parseXML()方法和jQuery 1.5将字符串解析为有效的XML对象。一旦我将字符串转换为jQuery XML对象,我就能够导航XML的DOM并查找值。我甚至可以改变不同属性的值。但是,我无法在XML中插入新元素,即使我认为这应该是可能的。以下是说明问题的代码段:

var myXml = "<one attr='a'><two attr='b'/><three attr='c'><four attr='d'/></three></one>";
myXml = $.parseXML(myXml);
$(myXml).find('two').attr('attr','new value'); //<-- This works
alert($(myXml).find('two').attr('attr')); //<-- This works too
$(myXml).find('three').append('<five>some value</five>'); //<-- Does not work
alert($(myXml).find('five').text()) // <--Null

有没有人有关于使这项工作的想法?提前谢谢。

1 个答案:

答案 0 :(得分:8)

这里的问题是你要附加一个字符串而不是一个DOM元素。要附加DOM元素,您需要将新XML包装在$(...)表达式

$(myXml).find('three').append($('<five>some value</five>'));

小提琴:http://jsfiddle.net/kDmD8/