jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery – 计数行/获取行数行的索引大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出如何获取当前行跨度“行”的索引(即使它是行跨越的单元格).

<table>
    <tr>
        <td rowspan="2">First</td>
        <td> First 1 1 </td>
        <td> First 2 1 </td>
    </tr>
    <tr>
         <td> First 2 1 </td>
         <td> First 2 2 </td>
    </tr>
    <tr>
        <td rowspan="2">Second</td>
        <td> Second 1 1 </td>
        <td> Second 2 1 </td>
    </tr>
    <tr>
         <td> Second 2 1 </td>
         <td> Second 2 2 </td>
    </tr>
</table>

如果我点击表格中的任何一个单元格,我如何计算我所在的“行跨行”行?

例如,如果我点击任何“第二”单元格,我应该得到“2”,如果我点击任何“第一”单元格,我应该得到“1”.

我尝试过多种方法,包括

row=$(this).parent().parent().children('tr').filter(function (indeX) {
    return $(this).children('td[rowspan]'); }).index($(this).parent());

row=$(this).parent().parent().children('tr:contains("td[rowspan]")')
    .parent().parent().index($(this).parent());

和它一起工作

$row=$(this).parent();
while ($row.children('td:eq(0)').attr("rowspan").length<=0)
    $row=$row.prev();
span=$row.children('td:eq(0)').attr("rowspan");
row=Math.floor( parseInt($(this).parent().parent().children().index( $(this).parent()) )/span );

但这只会产生一个行跨单元格…并假设所有行都有相同的行跨

我尝试过这些网站,但不能走得太远.

jquery selector to count the number of visible table rows?

JQuery: How to select rows from a table

Table row and column number in jQuery

解决方法

一种方法是根据第一列中单元格的rowspan属性构建数组.从那里,您可以获取所单击行的索引并遍历rowspan数组,并随时减去跨距的范围.一旦你低于零,你有你的(从零开始)索引:

$("td").click(function() {
    var $this = $(this);
    var rowIndex = $this.closest("tr").index();
    $this.closest("table").find("tr").map(function() {
        return $(this).find("td:first").attr("rowspan") || 1;
    }).each(function(indeX) {
        if ((rowIndex -= this) < 0) {
            alert(index + 1);  // 'index' is zero-based.
            return false;
        }
    });
});

你可以在this fiddle测试它.

大佬总结

以上是大佬教程为你收集整理的jQuery – 计数行/获取行数行的索引全部内容,希望文章能够帮你解决jQuery – 计数行/获取行数行的索引所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。