jquery通过表索引访问用户特定的集合?

jquery通过表索引访问用户特定的集合?,jquery,css-selectors,html-table,Jquery,Css Selectors,Html Table,我有一张桌子 <table> <tr> <td class="myA">Data...1a</td> <td class="myA">Data...2a</td> <td class="myA">Data...3a</td> </tr> <tr> <td class="myB">Data...1b</td> <td c

我有一张桌子

<table>
<tr>
   <td class="myA">Data...1a</td>
   <td class="myA">Data...2a</td>
   <td class="myA">Data...3a</td>
</tr>
<tr>
   <td class="myB">Data...1b</td>
   <td class="myB">Data...2b</td>
   <td class="myB">Data...3b</td>
</tr>
<tr>
   <td class="myC">Data...1c</td>
   <td class="myC">Data...2c</td>
   <td class="myC">Data...3c</td>
</tr>
</table>

数据…1a
数据……2a
数据…3a
数据…1b
数据……2b
数据…3b
数据…1c
数据…2c
数据…3c
这是我们经常看到的:数据不是在一行和它们的列中分开的 通常情况下,数据位于不同的行中,但位于相同的td位置(因为连接的数据应该在它们之间写入)

因此,我认为如果我有索引,就可以在每个tr行上获得一个类过滤器和
.get(theIndex)
,以从td个体中提取数据

但是有没有简单的方法?->我想在一个步骤->中提取属于一起的数据,然后可能在一个数组/jquery集中


有什么想法吗?(我不能添加ID等-我只有td和类名的索引)。

很难理解您想要实现的目标。如果您知道要访问的特定行,则始终可以这样做

var rowIndex = 1;
$('table tr:eq(' + rowIndex + ') td').each( function() { /* cell for the row identified by rowIndex. */});
您还可以访问具有相同类名的所有tds

$('td.myB').each( function() { } ); //Access all the cells having class 'myB'.

我不确定这是否是您要查找的内容,但给定特定的表元素引用和基于零的索引,此函数将返回该特定列中的单元格数组。让我知道这是否有意义

function get_table_column(table, index) {
    cells = []
    $('tr', table).each(function() { 
        cells.push ($('td:eq(' + index + ')', this));
    });

    return cells;        
}

以下可能是您正在寻找的:

<html>
    <head>
    </head>
    <body>
        <table>
            <tr>
                <td class="A">First Name 1</td>
                <td class="A">First Name 2</td>
                <td class="A">First Name 3</td>
            </tr>
            <tr>
                <td class="A">Last Name 1</td>
                <td class="B">Last Name 2</td>
                <td class="B">Last Name 3</td>
            </tr>
        </table>
        <script src="jquery-1.3.2.min.js"></script>
        <script>
        $(function() {
            var idx = 2;
            var data = [];
            $("tr td:nth-child(" + idx +")")
            .each(function() { 
                data[data.length] = $(this).text(); 
            });
            var person = { 
                firstName : data[0], 
                lastName : data[1] };

            alert (person.firstName + " " + person.lastName);
        });
        </script>
    </body>
</html>

名字1
名字2
名字3
姓氏1
姓2
姓氏3
$(函数(){
var-idx=2;
var数据=[];
$(“tr td:n个子项(“+idx+”))
.each(函数(){
data[data.length]=$(this.text();
});
var person={
名字:数据[0],
lastName:data[1]};
警报(person.firstName+“”+person.lastName);
});

上面的示例将为您提供多行中的firstname 2和lastname 2(td index=2)

如何仅访问该行和仅由className定义的tds是明确的,但在不同行之间查找以提取属于表的数据td index是问题td的索引不足以唯一地标识单元格。例如,索引2可能表示第一行的最后一个单元格或第三行的最后一个单元格。如何决定?您需要其他信息来定位元素。ok call itt not index:call it position:从所有行中,位置为2的td内容(这意味着如果从1开始->每个中间列)保持css选择器备忘单靠近:)非常方便。我也不记得了。