gpt4 book ai didi

jquery - 使用 jQuery 添加 XML DOM 元素-可能吗?

转载 作者:行者123 更新时间:2023-12-01 03:52:41 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery 来操作我用 ajax 加载的 XML 文件的 DOM。我可以选择元素、清空它们并删除它们,但不能添加它们。

jQuery 很少让我失望,但我感到精疲力竭和失败。请帮忙。

代码:

<script type="text/javascript">

$.ajax({
type: "GET",
url: "note.xml",
dataType: "xml",
success: parseResultsXML
});

function parseResultsXML(xml) {

$(xml).append('<item>something</item>'); // Nothing gets added! :(
}

</script>

最佳答案

我认为您需要使用 $.parseXML(xml) 来解析 XML。 parseXML() 是 jQuery 1.5 的新增内容。我遇到了和你类似的问题,最后我使用了一些插件库来解析 XML,因为我使用的是 jQuery 1.4。

http://api.jquery.com/jQuery.parseXML/

====编辑====

使用 jQuery 操作 XML 有点棘手。尝试以下代码

var dom = $.parseXML(xml); //returns DOM element
var item = $.parseXML("<item>something</item>"); //returns DOM element

$(dom).children(0).append($(item).children(0))

console.log($(dom).find("item").text()); //should print "something"

您必须执行 $(dom).children(...) 因为 dom 是一个文档对象,您必须将其包装到 jQuery 中才能使用 jQuery 函数。

你必须做 $(dom).children(0).append(...) 但不是 $(dom).append() 因为 dom 引用到 XML DOM 树的文档根。记忆一下所有 DOM 的样子:

  Document
|
root
/ | \
c1 c2 c3 ....more children...

因此,如果您执行 $(dom).append(..) 您实际上是在尝试附加到文档根,这是不允许的,因为文档根只能有一个元素子元素,即xml 文档的根元素。

类似地,您会执行 .append($(item).children(0)) 因为您想要插入 item 的根元素而不是 项目

关于jquery - 使用 jQuery 添加 XML DOM 元素-可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com