Tôi có một số sử dụng jQuery.clone() để lấy html của một trang và sau đó thêm nó vào thẻ trước. Nó hoạt động chính xác trong Firefox và Chrome, nhưng không có gì xảy ra trong IE:jQuery.clone() Vấn đề 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>
Có lỗi nào với IE ngăn chặn điều này hoặc tôi đang làm điều gì sai?
(Tôi cần phải sao chép nó bởi vì tôi đang làm một số thay đổi nó trước khi xuất nó)
Bạn đang thêm tương đương với toàn bộ tài liệu (bao gồm '
', '') * trở lại vào * tài liệu hiện tại và tự hỏi tại sao nó không hoạt động? Tôi ngạc nhiên rằng nó hoạt động ở tất cả, trong bất kỳ trình duyệt nào. –Bạn đã thử sử dụng nội dung() chưa? http://api.jquery.com/contents/ – vsync
@Roatin Marth - Anh ấy đang sử dụng '.text()' và đặt nó vào vùng chứa 'trước'. Rõ ràng anh ta dự định hiển thị đánh dấu trang trong '# output'. – user113716