如何创建一个包含元素值的数组?

时间:2016-02-20 12:29:24

标签: javascript jquery html regex

我有这样的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数组。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

var array = $('td').map(function() {
   return $(this).text();
}).get();

FIDDLE DEMO

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