JQuery - 将'HTMLDivElement'对象的数组转换为字符串

时间:2013-11-22 13:07:16

标签: jquery find each

我过滤页面上的元素,然后检查显示的项目数量,如果少于一定数量,我想使用$ .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);
                }

1 个答案:

答案 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创建单个字符串。