0

我有一个带有同位素的 div,我正在尝试从另一个 div 中插入内容。但我卡住了。

所以我尝试使用 .html() 从 div2 获取内容并使用 isotope('insert', 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>');

它插入它没有问题。

编辑:当我点击一个按钮时它必须插入它

4

1 回答 1

4

isotope 需要一个 DOM 元素,而不是字符串。
这对我有用:

var node = $('<div/>', {
     html: $('#content2').html()
});
$container.isotope( 'insert', node);
于 2013-03-06T09:15:26.863 回答