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

Javascript 使用jquery读取HTML表的第一列值,javascript,jquery,html,asp.net-mvc-3,Javascript,Jquery,Html,Asp.net Mvc 3,我有一张桌子: <table id="ItemsTable" >​ <tbody> <tr> <th> Number </th> <th> Number2 </th> </tr> <tr> <td>32174711</td> <td>321747

我有一张桌子:

<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>
​
数
2号
32174711     32174714
32174712     32174713
我需要将值32174711和32174712以及列号的每一个其他值放入数组或列表中,我使用的是jquery 1.8.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);
});

您可以使用
map
方法:

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

从jQuery
map()
文档:

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


根据你的情况,你可以使用第一个孩子

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

有关演示,请参见此链接:


@Huangism是的,它是必需的,您的选择器只返回第一个tr的第一个td。@shmiddy这是另一个选项,为什么您认为
get
没有必要?
$.map()
map()
之间存在差异。返回一个jQuery对象。@未定义:
get
或no
get
,两个小提琴在控制台中返回相同的数组(
[“32174711”,“32174712”]
),就我所见。@Françoiswah我可以看到jQuery对象的所有方法和属性,一个是jQuery对象,另一个是实际数组。@undefined:ahhhh。。现在我明白了。很抱歉没有看到它!非常好:)当不使用
get
时,结果仍然是jQuery对象。我可以调用jQuery方法,例如
console.log(arr.eq(0))
,但在使用
get()
时不能这样做。很不错的。在那种情况下你是绝对正确的。即使结果在控制台中看起来相同,但如果没有
get
,它仍然是一个jQuery包装器。不错。当然,如果这是用户想要的,那么离开
get()?首先是
。每一行
,然后是
这个
上的另一个jQuery包装,再加上
查找
。不确定map在内部是如何工作的,但使用
。查找
只比每次在循环中使用它听起来更“便宜”<代码>+1
不管怎样,因为它会给你单独的值。这个答案可能是效率最低的。只是说,我不能谈论
map
的内部结构,但我想它也有类似的功能。
var items = $.map($("#ItemsTable td:first-child"), function(ele){
    return $(ele).text();
});

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