我正在阅读一个 XML 文档,想找到一个特定名称的第一个标签,并用不同的标签和内容替换该实例。我正在使用 find 和 first,但 replaceWith 调用并未替换它。
$(storyXML).find('oldTag').first().replaceWith('<newTag>text</newTag>') ;
});
查找是查找多个旧标签,第一个是返回其中的第一个,replaceWith 什么都不做。在搜索 Stack Overflow 之后,我什至尝试使用以下方法替换所有这些:
$(storyXML).find('oldTag').each(function() {
$(this).replaceWith('<newTag>text</newTag>') ;
});
但这也没有做任何事情。感谢您提供的任何帮助!
编辑:这里分配了 storyXML(试图简化发布代码,希望它仍然有意义):
var load = function () {
var fn;
fn = function (obj, init) {
storyXML = obj.responseXML;
};
ajax("GET", this.url, null, fn);
};
编辑 2:通过下面 Jason 的回答修复了代码。为遇到此问题并像我一样找不到解决方法的其他人发帖。
var xmlDoc = $.parseXML( storyXML );
var $xml = $( xmlDoc );
$xml.find('oldTag').first().replaceWith('<newTag>stuff</newTag>');
// if you want to keep the old XML string updated, need to do this step
storyXML = (new XMLSerializer()).serializeToString(xmlDoc);
最佳答案
你试过了吗https://api.jquery.com/jQuery.parseXML/ ?有时 jQuery 将对字符串或 DOM 对象进行操作,但有时 jQuery 需要对象。
关于jquery - 在 XML 文档中使用 find() 和 first() 以及 replaceWith(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32077697/