我有这样的HTML结构:
<table>
<tr>
<td>Jack</td>
<td>Peter</td>
<td>Barmar</td>
</tr>
</table>
现在我正在尝试创建一个包含所有这些名称的JS数组。我想要这样的东西:
var Names = ["Jack", "Peter", "Barmar"];
实际上我可以使用this regex选择这些名称:
/\<td\>(.*)\<\/td\>/g
但我不知道如何从HTML中提取它们并创建包含它们的JS数组。我怎么能这样做?
答案 0 :(得分:2)
var array = $('td').map(function() {
return $(this).text();
}).get();
map函数返回一个没有连接函数的jQuery集合。您需要先使用get函数将其转换为标准数组。
答案 1 :(得分:1)
使用jQuery
var Names = $('td').map(function() { return $(this).text(); }).get();
使用JavaScript
var Names = [], tdEls = document.getElementsByTagName('td'),
for (var i = 0; i < tdEls.length; i++) {
Names.push( tdEls[i].innerHTML );
}
<强> Here's a fiddle 强>