2013-07-25 148 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