jQuery select 下一行的第一行 table 从最后一行当前 table

jQuery select first row in next table from last row current table

如何 select 下一行 table 与 jQuery。例如,我想在第二个 table 中从 link 2 变为 link 3。

<div class="panel">
    <table>
        <tbody>
            <tr>
                <td>
                    <a href="1.html">1</a>
                </td>
                <td>
                    <a class="current" href="2.html">2</a>
                </td>
            </tr>
        </tbody>
    </table>    
</div>
<div class="panel">
    <table>
        <tbody>
            <tr>
                <td>
                    <a href="3.html">3</a>
                </td>
                <td>
                    <a href="4.html">4</a>
                </td>
            </tr>
        </tbody>
    </table>    
</div>

我使用这个脚本,但不会 select 另一个 table 的下一行,它本身就可以工作 table。

$('.current').parents('tr').next().find('a').attr('href')

首先检查下一行元素的长度 table 如果不是,那么你可以遍历到最近的 div .panel 而不是遍历到 tr 元素。

您还应该使用 .closest() 而不是 .parents() 来仅定位最近的第一个祖先:

var nexttr = $('.current').closest('tr').next();
if(nexttr.length)
   somehref = nexttr.find('a').attr('href');
else
   somehref = $('.current').closest('.panel').next().find('a').attr('href')