0

我有一个返回 html 的 ajax 函数。看起来像:

<div class="item">
    <h1></h1>
    <div>
    </div>
</div>
<div class="item">
    <h1></h1>
    <div>
    </div>
</div>
<div class="item">
    <h1></h1>
    <div>
    </div>
</div>

现在我正在尝试通过grid-a-licious jquery 网格插件显示它们。根据示例,当我想附加它们时,我需要使用类“项目”创建 div 数组。所以我尝试了这段代码:

function createItems(data) {
    var items = new Array;
    $('.item', data).html().each(function() {
        items.push($(this));
    });
    return items;
}

但是 html 代码进入控制台时出现错误:语法错误无法识别的表达式哪里有问题?

4

2 回答 2

3

您不能在字符串上使用 .each 。其次,您的选择器没有返回任何元素,因为.item它是data.

function createItems(data) {
    var items = [];
    $(data).each(function() {
        items.push(this);
    });
    return items;
}

$(createItems(somedata)).doSomething();

甚至

function createItems(data) {
    return $(data).map(function() {
        return this;
    }).get();
}

$(createItems(somedata)).doSomething();

或者

$(somedata).doSomething();
于 2013-08-16T15:45:00.137 回答
1

你可以返回

function createItems(data) {
    return $(data);
}
于 2013-08-16T15:44:54.993 回答