7

我有一张桌子:

<table id="ItemsTable" >​
    <tbody>
   <tr>
     <th>
       Number
     </th>
     <th>
       Number2
     </th>
    </tr>
  <tr>
    <td>32174711</td>     <td>32174714</td>
  </tr>
  <tr>
    <td>32174712</td>     <td>32174713</td>
  </tr>
</tbody>
</table>

我需要将值 32174711 和 32174712 以及列号的所有其他值放入一个数组或列表中,我使用的是 jquery 1.8.2。

4

5 回答 5

15
var arr = [];
$("#ItemsTable tr").each(function(){
    arr.push($(this).find("td:first").text()); //put elements into array
});

请参阅此链接进行演示:

http://jsfiddle.net/CbCNQ/

于 2012-10-05T19:45:42.637 回答
10

您可以使用map方法:

var arr = $('#ItemsTable tr').find('td:first').map(function(){
     return $(this).text()
}).get()

http://jsfiddle.net/QsaU2/

来自 jQuerymap()文档:

描述:通过一个函数传递当前匹配集中的每个元素,生成一个包含返回值的新 jQuery 对象。. 由于返回值是一个 jQuery 包装的数组,因此 get() 返回的对象与基本数组一起使用是很常见的。

于 2012-10-05T19:30:51.063 回答
3
// iterate over each row
$("#ItemsTable tbody tr").each(function(i) {
    // find the first td in the row
    var value = $(this).find("td:first").text();
    // display the value in console
    console.log(value);
});

http://jsfiddle.net/8aKuc/

于 2012-10-05T19:30:40.600 回答
1

从你所拥有的,你可以使用第一个孩子

var td_content = $('#ItemsTable tr td:first-child').text()
// loop the value into an array or list
于 2012-10-05T19:32:06.553 回答
0

http://jsfiddle.net/Shmiddty/zAChf/

var items = $.map($("#ItemsTable td:first-child"), function(ele){
    return $(ele).text();
});

console.log(items);​
于 2012-10-05T19:34:20.000 回答