【问题标题】:Jquery - Select last tr of my table [duplicate]Jquery - 选择我表的最后一个 tr [重复]
【发布时间】:2014-01-29 13:37:29
【问题描述】:

我有一张桌子,在一个 td 中我有另一张桌子。

我要做的是只选择第一个表中的最后一个 tr (在下面的示例中表示)。

我的表格 HTML:

<table>
    <tr>
        <td>.a</td>
        <td>.a</td>
    </tr>
    <tr>
        <td>.a</td>
        <td>.a</td>
    </tr>
    <tr>
        <td>.a</td>
        <td>.a</td>
    </tr>
    <tr> <!--This is the one I want to select.-->
        <td>.a</td>
        <td>
            <table>
                 <tr>
                    <td>.a</td>
                    <td>.a</td>
                    <td>.a</td>
                    <td>.a</td>
                    <td>.a</td>
                    <td>.a</td>
                </tr>
            </table>
        </td>
    </tr>
</table>

我曾尝试使用 jQuery .find() 等,但我无法选择它。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你将什么参数传递给.find()(等等)?
  • $('table').first().children().children().last()$('table table').closest('tr') 应该在这个确切的 html 下工作......但是 Niet 的答案要好得多 - 给表格一个 ID 并根据它选择行。只是我的 2 美分;)

标签: javascript jquery html


【解决方案1】:

假设您在第一张桌子上有一个 ID,替换为 #example,您可以使用以下任一方式:

$('#example &gt; tbody &gt; tr:last-child')

$('#example &gt; tbody &gt; tr').last()

【讨论】:

  • 行不通。检查 DOM 检查器。
  • 是的,因此'替换表的任何类名'-我会更清楚:)
【解决方案2】:

Vanilla JS 来救援!

假设你能以某种方式得到你的桌子(也许getElementById 如果你给它一个 ID)那么你可以这样做:

lastRow = myTable.rows[myTable.rows.length-1];

【讨论】:

    【解决方案3】:

    试试这个:

    $("tr:last", "table")
    

    【讨论】:

      【解决方案4】:

      首先你需要给 id 或 class 像 id="outermost-table" 然后试试这个,否则它会给出 2 个元素。

       $("#outermost-table tr:last)
      

      【讨论】:

        【解决方案5】:

        现场演示:http://jsfiddle.net/5Y9mG/7/

        像这样在你的 html 中添加表 id:

        <table id="first">
            <tr>
                <td>.a</td>
                <td>.a</td>
            </tr>
            <tr>
                <td>.a</td>
                <td>.a</td>
            </tr>
            <tr>
                <td>.a</td>
                <td>.a</td>
            </tr>
            <tr> 
                <td> a</td>
                <td>
                    <table>
                         <tr>
                            <td>click here </td>
                            <td>click here </td>
                            <td>click here </td>
                            <td>click here </td>
                            <td>click here </td>
                            <td>click here </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
        

        然后获取最后一行:

        $('#first tr:last')
        

        jQuery :

        jQuery(document).ready(function($){
            $('#first tr:last').click(function(){
                alert('got me :)');
            })
        });
        

        【讨论】:

        • 这将选择 inner 表的最后一行。可能不是 OP 想要的。
        • @xec :他想获得第一张桌子的最后一个 tr。第一个表最后一个 tr 包含另一个表。所以它应该适用于所有最后一个表 tr 和 td 点击。
        • 尝试单击外部表最后一行中的“a” - 它不起作用,因为最后选择的 TR(tr:last 所做的)位于内部表中。 jsfiddle.net/5Y9mG/8
        猜你喜欢
        • 2022-01-05
        • 1970-01-01
        • 2021-06-08
        • 2013-01-19
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 2011-06-25
        • 2012-09-10
        相关资源
        最近更新 更多