jquery - 获取html表的指定列中的元素

von*_*dip 7 html jquery

使用jquery,我想获取html表的指定列中的所有元素.请注意,它可以是多个列

例如,如果我有以下html表:

<table>
   <tr> 
    <td>
      a
    </td>
    <td>
      b
    </td>
    <td>
      c
    </td>
   </tr>
   <tr> 
    <td>
      1
    </td>
    <td>
      2
    </td>
    <td>
      3
    </td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

看起来如下:

1     2      3
a     b      c
Run Code Online (Sandbox Code Playgroud)

我想得到1,3,a,c

我该怎么办?最有效的方法是什么?(我正在遍历由某个报告实用程序生成的巨大表)

Kai*_*aja 12

您可以使用:nth-child()选择器.

$("tr td:nth-child(1), tr td:nth-child(3)").css('color', 'red');
Run Code Online (Sandbox Code Playgroud)


Sha*_*ard 10

这里或多或少是通用示例,您可以将所需的索引定义为数组:

var cellIndexMapping = { 0: true, 2: true };
var data = [];

$("#MyTable tr").each(function(rowIndex) {
    $(this).find("td").each(function(cellIndex) {
        if (cellIndexMapping[cellIndex])
            data.push($(this).text());
    });
});

$("#Console").html(data.join("<br />"));
Run Code Online (Sandbox Code Playgroud)

测试用例:http://jsfiddle.net/yahavbr/FuDh2/

使用关联数组可以获得更快的性能,据我所知,搜索此类数组中的特定项目应该已经优化.

注意,在JS第一索引始终为0,所以1 和3个RD细胞意味着索引0和2.