2013-07-25 108 views
1
<script> 
    var elem = null; 
    $(document).ready(function() { 
     $elem = $("#elem"); 
     $("#parent").html(''); 
     $("#parent").append($elem); 
    }); 
</script> 

<div id="parent"> 
    <div> 
     Bla Bla Bla... 
    </div> 
    <div id="elem"> 
     <div> 
      It work's! 
     </div> 
    </div> 
</div> 

我想缓存ID为#elem的元素与他的子节点和文本节点以及他的子节点的文本节点。上述代码适用于Google Chrome和Firefox,但在Internet Explorer中(使用IE 10测试),#elem的子节点缺失。jQuery中的缓存元素(Internet Explorer?)

任何帮助? 在此先感谢。

+1

尝试从'$ elem'中删除$ selector –

+1

它如何在Chrome和FF中工作? – mohkhan

+0

可能是一个bug。 [小提琴](http://jsfiddle.net/JQcC3/)。 [结果](http://jsfiddle.net/JQcC3/embedded/result/) – Prasanth

回答

0

好吧,我觉得这是一个jQuery内部克隆/ 编码问题 - 深拷贝vs浅拷贝!

使用

$elem = $('#elem').clone(); 

works

1

我会建议使用JQuery

detach方法
0

尝试做

$elem = $("#elem").clone(); 

它为我工作在IE10