gpt4 book ai didi

javascript - 让 jQuery 与另一个库一起工作(XML 解析)

转载 作者:行者123 更新时间:2023-11-28 02:52:51 25 4
gpt4 key购买 nike

我们使用 jQuery 生成 XML 片段,然后使用 html() 函数将其转换为字符串。但正如我们刚刚发现的,如果有人不知道的话,IE 中实现的 html() JavaScript 函数已经损坏、损坏、损坏。基本上,它会将一些标签大写,“有帮助地”向其他标签添加属性(在我们的例子中为 ),并且通常不会做正确的事情。

我想使用类似的方法来生成 XML 字符串:

http://www.stainlessvision.com/jquery-html-vs-innerxhtml

但是,这个库不能与开箱即用的 jQuery 很好地配合,例如:

var $dummyRoot = $('<dummyroot/>'); // since html() doesn't generate the outer element
var $foo = $('<foo></foo>');
var $font = $('<font ></font >');
$foo.append($font);
$dummyRoot.append($foo);
var $s = innerXHTML($dummyRoot); // <-- Doesn't work

我认为它需要一个更像 W3C DOM 的对象。

如何让 jQuery 与此 innerXHTML() 函数对话;或者,我可以使用另一个函数(也许是 jQuery 或 jQuery 插件中内置的函数)?

编辑:跟进 DDaviesBrackett 的问题。我的 XML 中还有一个“body”元素;看看它如何选择 CSS 样式(而不仅仅是一个元素)。

是否存在不成文的规则,不允许在元素名称为 body、font、head 等的 DOM 内生成 XML?

var $dummyRoot = $('<dummyroot/>');
var $foo = $('<foo></foo>');
var $body = $('<body></body>');
var $font = $('<font></font>');
$body.append($font);
$foo.append($body);
$dummyRoot.append($foo);

var $s = innerXHTML($dummyRoot[0]);

// $s equals "<foo><body bottommargin="15" leftmargin="10" rightmargin="10" topmargin="15"><font size="+0"></font></body></foo>"

最佳答案

jQuery 对象包装其内容,但通过数组索引器公开它们。使用时你会得到什么

var $s = innerXHTML($dummyRoot[0]);

而不是你的例子?

关于javascript - 让 jQuery 与另一个库一起工作(XML 解析),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428502/

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