我正在使用新的$ .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
有没有人有关于使这项工作的想法?提前谢谢。
答案 0 :(得分:8)
这里的问题是你要附加一个字符串而不是一个DOM元素。要附加DOM元素,您需要将新XML包装在$(...)
表达式
$(myXml).find('three').append($('<five>some value</five>'));