砖石附加不起作用

时间:2012-09-12 21:20:10

标签: jquery jquery-masonry

我首先尝试附加一个模板但遇到了无法将其附加到projects元素的相同问题。 然后尝试只添加一个名为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 ); 

为什么这不起作用?

3 个答案:

答案 0 :(得分:5)

以下解决方案适用于我:

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

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

$(container).append( data ).masonry("reloadItems").masonry("layout");       

答案 1 :(得分:3)

您实际上并未将<div>附加到#projects容器。

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

再次致电Masonry之前尝试projects.append(div)

答案 2 :(得分: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);