0

我需要用 xml 节点替换具有字段名称的节点。

我试过replaceWithwhich 没有正确解析。

正如这里所建议的,我尝试创建一个解决方法来替换 xml 标签

   $.fn.replaceWithXML = function replaceWithXML(ele) {
        var xml = this.html();
        return $('<dummy />').append($(ele).append(xml)).html();
    }

它无法正确处理所有 xml 标签。

 xml = '<field><col>Col1</col></field>'
 xml = $.parseXML(xml);

用“列”替换“字段”会产生意外的输出''

这都不起作用

var xml_node = '<column></column>';
$(root).append(xml_node,{html: $(xml ).find('field').html()});

这也行不通

$(root).append($(xml_node).append($(xml ).find('field').html()));
4

1 回答 1

0

There is a typo in your xml attempt (filed)

xml = '<field><col>Col1</col></filed>'

should be (field)

xml = '<field><col>Col1</col></field>'

Now that you edited this into your question, using find works to locate the element. The next problem is now that you are using .innerHTML on a jquery object, when you should use .html()

jsFiddle Demo

var xml = '<field><col>Col1</col></field>';
xml = $.parseXML(xml);
console.log(xml);
alert($(xml).find("col").html());
于 2014-03-26T19:20:48.740 回答