2013-03-06 56 views
0

我有一個div與同位素,我試圖從另一個div插入內容。但我卡住了。在Jquery同位素中插入內容

所以我試圖擺脫DIV2以.html(內容),並將其插入到與同位素(「插入」,div2.html())的同位素,它不工作

<div id="content1" > 
    <div class="large item"> <img src="images/5.jpg" /> </div> 
    <div class="small item"> <img src="images/7.jpg" /> </div> 
    <div class="medium item"> <img src="images/6.jpg" /> </div> 
    <div class="medium item"> <img src="images/13.jpg" /> </div> 
    <div class="small item"> <img src="images/7.jpg" /> </div> 
</div> 
<div id="content2" > 
    <div class="box item"> 
    <p>blabla</p> 
    <ul> 
     <li> 
     aaaa 
     </li> 
    </ul> 
    </div> 
</div> 

var $container = $('#content1'); 
    $container.isotope({ 
      // options 
     itemSelector : ".item", 
     masonry: { columnWidth: $container.width() * 0.125}, 
     resizable: false, 
     animationEngine : 'jquery' 

    }); 

    var $newItems = ''; 
    $container.isotope('insert', $newItems); 

現在我的問題是,當我做到這一點

var $newItems = $('#content2').html(); 

什麼也沒有發生,但是當我這樣做

var $newItems = $('<div class="box item"><h1> Lorem ipsulm </h1><p>Lorem ipsum dolor</p>sit amet, consectetur adipiscing elit.</p></div>'); 

它沒有問題插入它。

編輯:它必須插入它時,我點擊一個按鈕

+0

爲什麼你的方式添加同樣的問題兩次:: http://stackoverflow.com/questions/15232702/jquery-isotope-in​​serting-content – 2013-03-06 08:48:53

+0

。下次使用螢火蟲或鉻的「檢查元素」來查看錯誤。我從來沒有使用同位素,但從控制檯的錯誤信息讓我找到答案。 – lvil 2013-03-06 11:33:16

回答

4

同位素期待一個DOM元素,而不是一個字符串。
這爲我工作:

var node = $('<div/>', { 
    html: $('#content2').html() 
}); 
$container.isotope('insert', node); 
+0

謝謝你,那個很棒的作品 – Vlada 2013-03-06 09:32:15

+0

我在這上面浪費了幾個小時的時間:) – 2015-02-25 16:56:34