使用Jquery(或js)在html表格上循环遍历列的单元格(不是行的单元格)?

发布于 2024-11-27 10:48:02 字数 213 浏览 0 评论 0原文

使用 jQuery 循环遍历单元格或行很简单,但循环遍历列的单元格并不简单。

//for cells of rows I will do this
$('table tr').each(function(index,elem)...//loop through cell of row [index]

有人建议一种循环遍历列单元格的简单方法吗?

With jQuery is simple to loop through cells or rows, but it is not simple to loop through the cells of a columns.

//for cells of rows I will do this
$('table tr').each(function(index,elem)...//loop through cell of row [index]

Any one suggest a simple method for looping through cells of a columns?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

东北女汉子 2024-12-04 10:48:02

编辑:我误读了原来的问题。 此示例将循环遍历表格中的所有单元格,首先按单元格排序。

标记

<table class='sortable'>
    <tr>
        <td>a</td>
        <td>d</td>
        <td>g</td>
    </tr>
    <tr>
        <td>b</td>
        <td>e</td>
        <td>h</td>
    </tr>
    <tr>
        <td>c</td>
        <td>f</td>
        <td>i</td>
    </tr>
</table>

jQuery

var cells = $('table.sortable td').sort(function(a, b) {
    //compare the cell index
    var c0 = $(a).index();
    var c1 = $(b).index();
    if (c0 == c1)
    {
        //compare the row index if needed
        var r0 = $(a).parent().index();
        var r1 = $(b).parent().index();
        return r0 - r1;
    }
    else
        return c0 - c1;
});

//console.log(cells);
cells.each(function() {
   console.log($(this).html());
});

结果:

a
b
c
d
e
f
g
h
i

Edit: I misread the original question. This example will loop through all the cells in a table, ordered by their cells first.

Markup:

<table class='sortable'>
    <tr>
        <td>a</td>
        <td>d</td>
        <td>g</td>
    </tr>
    <tr>
        <td>b</td>
        <td>e</td>
        <td>h</td>
    </tr>
    <tr>
        <td>c</td>
        <td>f</td>
        <td>i</td>
    </tr>
</table>

jQuery:

var cells = $('table.sortable td').sort(function(a, b) {
    //compare the cell index
    var c0 = $(a).index();
    var c1 = $(b).index();
    if (c0 == c1)
    {
        //compare the row index if needed
        var r0 = $(a).parent().index();
        var r1 = $(b).parent().index();
        return r0 - r1;
    }
    else
        return c0 - c1;
});

//console.log(cells);
cells.each(function() {
   console.log($(this).html());
});

Result:

a
b
c
d
e
f
g
h
i
感情废物 2024-12-04 10:48:02
$(".table_identifier tr > :nth-child(1)").each(function(index,elem).....

将 1 更改为您要选择的任何列

$(".table_identifier tr > :nth-child(1)").each(function(index,elem).....

change 1 to whatever column you want to select

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文