1

我首先尝试附加一个模板,但遇到了同样的问题,它无法将它附加到项目元素。然后尝试仅附加一个名为 div 的 jquery 对象,它似乎没有将其附加到 dom 元素项目中。

var projects = $('#projects');
var tmpl = template({items : list});
console.log("render html ",  $(tmpl));
var div = $('<div class="item">WHY IS THIS NOT WORKING</div>');
projects.masonry( 'appended', div, true ); 

为什么这行不通?

4

3 回答 3

7

以下解决方案对我有用:

var container = $('.masonry-container');

container.masonry({ 
   columnWidth: '.item', 
   itemSelector: '.item' 
});

$(container).append( data ).masonry("reloadItems").masonry("layout");       
于 2016-02-26T08:36:58.657 回答
3

您实际上并没有将 附加<div>到您的#projects容器中。

砌体上的'appended'方法只是触发新附加元素的布局。

projects.append(div)在再次致电 Masonry 之前尝试一下。

于 2012-09-12T21:22:26.680 回答
1

以下解决方案对我有用:-

var projects = $('#projects'); 
var elems = []; 
var fragment = document.createDocumentFragment(); 

var elem = $('<div class="item">WHY IS THIS NOT WORKING</div>').get(0); 
fragment.appendChild(elem); 
elems.push(elem);
projects.appendChild(fragment); 
msnry.appended(elems);
于 2013-07-01T08:40:21.297 回答