2013-08-16 106 views
0

我有一个ajax函数返回一个html。它看起来像:从ajax html响应创建jQuery元素

<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的数组。所以我tryed此代码:

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

但HTML代码进入控制台错误:语法错误无法识别的表达 哪里出了问题?

+0

在这行是语法错误? – musicnothing

+0

@AlexMorrise第3行,他使用'“”.each(...' –

回答

2

你不能在字符串中使用。每。其次,您的选择器没有返回任何元素,因为.itemdata中的顶级元素。

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(); 
1

您可以只返回

function createItems(data) { 
    return $(data); 
}