javascript - 将 XML 导入 HTML

标签 javascript jquery html xml

我有一个代表一些 HTML 标签的 XML 字符串。我想选择一些 XML 并将其导入到 HTML。

我目前正在做的一个例子:

<html>
<head>
   <meta charset="utf-8">
   <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

</head>
<body>
<div><p>som text</p></div>
<h1>hi there</h1>
<button>click</button>
<script>

   xml = '<?xml version="1.0" encoding="utf-8"?><root><html><a href="#">the new link</a></html></root>';
   $xml =$($.parseXML( xml ));

$('button').on('click',function(){
    var content = $xml.find('html:first').contents();
    content.appendTo('body');
});
</script>
</body>
</html>

代码应该在页面末尾附加一个链接,但我只能看到文本,而不是链接。没有 HTML 标记起作用。

我使用另一个库来代替 jQuery 来做这件事,比如 https://github.com/jindw/xmldom ,但结果是一样的。 更新:这是 jsfiddle 链接:http://jsfiddle.net/V4gHz/

最佳答案

我终于找到了我自己问题的答案。问题是不要在 innerHTML 或 XMLSerializer 上浪费你的时间。因为它们不适用于所有浏览器,它们只与 Firefox 兼容。和 jquery 解决方案,如 $.contents() 或 $.HTML() 也仅适用于 firefox,不适用于 opera、chrome 和 IE。

我发现一个名为“htmlize”的 jquery 插件是真正的序列化器。插件地址是:https://github.com/ZeeAgency/jquery.htmlize

您可以从 github 上找到更多信息。我的问题就是这样解决的:

<html>
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

 </head>
 <body>
  <div><p>som text</p></div>
  <h1>hi there</h1>
  <button>click</button>
  <script>

    xml = '<?xml version="1.0" encoding="utf-8"?><root><html><a href="#">the new link</a></html></root>';
    $xml =$($.parseXML( xml ));

 $('button').on('click',function(){
    var content = $xml.find('html:first').htmlize();
     $(content).appendTo('body');
 });
 </script>
</body>
</html>

关于javascript - 将 XML 导入 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070979/

相关文章:

c# - 解析网址并获得键值对

javascript - MooTools 事件监听器在 element.innerHTML 更改后消失

javascript - 进入子菜单网络链接后,保持父菜单项突出显示

jquery - 暂时禁用通过其他函数/插件附加的 jquery 事件

javascript - 在 vuejs 中,由于未知原因, react 性在循环内不起作用

javascript - javascript 中的 if 语句未按预期工作

javascript - 函数的返回未分配给 $scope?

javascript - 使用数据间隔 ="false"防止 twitter bootstrap 轮播自动滑动不起作用

html - selectOneListBox 大小为 1 显示为下拉菜单

javascript - chrome 扩展 : get specific part of the current tab page in DOM object and display it in either popup. html 或新的 html 页面?