2012-09-12 87 views
1

我首先嚐試追加模板,但得到同樣的問題,它無法將其追加到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

您實際上沒有將<div>附加到您的#projects容器中。

砌體上的'appended'方法只是觸發新添加元素的佈局。

嘗試projects.append(div)再次致電砌體之前。

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); 
3

以下解決方案的工作:

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

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

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