gpt4 book ai didi

javascript - jQuery.clone() IE问题

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:58 25 4
gpt4 key购买 nike

我有一些使用 jQuery.clone() 来获取页面的 html,然后将其添加到 pre 标记。它在 Firefox 和 Chrome 中正常工作,但在 IE 中没有任何反应:

<!DOCTYPE html>
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script>
$(function(){

$('button').click(function(){
var $clone = $('html').clone();
$('#output').text($clone.html());
});

});
</script>
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<button>run test</button>
<pre id="output"></pre>
</body>
</html>

IE 是否有任何已知的 bug 可以阻止这种情况,或者我做错了什么?

(我需要克隆它,因为我在输出之前对它做了一些更改)

最佳答案

这似乎适用于 IE、Firefox 和 Safari。我正在调用 javascript DOM API cloneNode() 方法而不是 jQuery 的 clone()。不知道为什么会这样。您可能应该做更多的浏览器测试。

var $scripts = $('script');            // Cache all scripts in the document

var html = $('html').get(0).cloneNode(true); // Clone HTML using DOM API

var $html = $(html); // Make jQuery object from cloned HTML

$('script', $html).each(function(i) { // Loop through scripts in $html
this.text = $scripts.get(i).innerHTML; // replacing content with that
}); // from the cached $scripts

$('#output').empty().text($html.html()); // Append to #output

关于javascript - jQuery.clone() IE问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874392/

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