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