我首先尝试附加一个模板但遇到了无法将其附加到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 );
为什么这不起作用?
答案 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);