jquery - 在 XML 文档中使用 find() 和 first() 以及 replaceWith()

标签 jquery xml

我正在阅读一个 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/

相关文章:

javascript - Bootstrap 模式对话框中的默认按钮

javascript - 通过 JavaScript 过滤 DOM 元素

Jquery slide toggle 让我的文本区域跳下来

javascript - 无法在 .text() 内实现换行符 -\n 不起作用

sql - 将 SQL 结果集转换为 XML

javascript - Ajax 请求后更新控件的最佳方法?

java - 摆脱 JAX-WS 中的空 xmlns 元素

javascript - 在 HTML 表格中显示 XML 文件

java - 从jar中读取xml文件的问题

c# - 在将数据从 Excel 文件转换为 XML 时,点被隐式转换为散列