我过滤页面上的元素,然后检查显示的项目数量,如果少于一定数量,我想使用$ .get()加载更多项目。
我正在使用同位素插件,它需要新项目为字符串,但我似乎只能获取HTMLDivElement对象。如何将其转换为字符串?
var $container = $('#container'),
filters = {};
$container.isotope({
itemSelector: '.element',
});
function loadMoreItems(getQuery) {
var newItems = [];
$.get(getQuery, null, function(data) {
container = $($container, data).eq(0);
if (0 === container.length) {
// incase the element is a root element (body > element),
// try to filter it
container = $(data).filter($container).eq(0);
}
if (container) {
container.find('.element').each(function() {
newItems.push(this);
});
}
alert(newItems); //what to do to get this as a string??
}, 'html');
$container.isotope('insert', newItems, true);
}
答案 0 :(得分:1)
不熟悉同位素,但是如果你需要一个字符串中包含所有元素的html,你可以简单地$(elements).html()
,或者你需要一个数组,每个元素都是一个字符串,你可以做
var transformElements = [];
$.each($(elements), function(index, value){
transformElements.push($(value).html());
})
在您的特定情况下,您可以:
var newItems = "";
if (container) {
newItems = container.find('.element').html();
}
将使用来自所有元素的html创建单个字符串。