2012-03-22 89 views
1

因此,我有一个html文档,其中包含约20个div,其中包含类'event'。Jquery将HTML作为对象或数组返回

rows = $(data).filter('.event'); 
alert(rows.length); //returns 20 
alert(rows.html()); // only returns first result 

我想要做的就是让HTML中的对象或数组,所以我可以遍历,而且每家一个包裹周围一个div,但问题是rows.html()只返回的第一个结果,但rows.length是正确的。

请任何帮助,将不胜感激。

回答

0

您可以使用:

rows.each(function(index, element)) { 
    // Your code goes here 
    alert($(this).html()); 
}); 

为了遍历一个jQuery集合中的每个元素。

0

jQuery试图转换/解释HTML代码,如果你围绕它包装$(),所以试着做$(rows.html())。 然后遍历:

$.each(rows, function(index, value) { 
    // Code here 
} 
3

您可以使用map()从您的元素的HTML内容创建数组:

var htmlContentArray = rows.map(function() { 
    return $(this).html(); 
}).get(); 

不过,如果你只是想包装每三排的内容,你可以简单地使用wrapInner():nth-child()选择:

$(data).filter(".event:nth-child(3n)").wrapInner("<div></div>"); 
0

行是数组,所以你应该重复

for(var i=0; i<rows.length(); i++){ 
rows[i].html(); 
} 
0

试试这个功能:

var arr = jQuery.map(rows, function (item) { 
    return $(item).html(); 
}); 
相关问题