使用jquery读取HTML表的第一列值

时间:2012-10-05 19:28:18

标签: javascript jquery html asp.net-mvc-3

我有一张桌子:

<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。

5 个答案:

答案 0 :(得分:12)

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

请参阅此链接以了解演示:

http://jsfiddle.net/CbCNQ/

答案 1 :(得分:7)

您可以使用map方法:

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

http://jsfiddle.net/QsaU2/

来自jQuery map()文档:

  

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

答案 2 :(得分:2)

// 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/

答案 3 :(得分:0)

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

var td_content = $('#ItemsTable tr td:first-child').text()
// loop the value into an array or list

答案 4 :(得分:0)

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

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

console.log(items);​