Jquery获取系列中最后一个元素的最后一行表

时间:2012-10-08 17:44:25

标签: javascript jquery html ajax

我有一系列基于部分的幻灯片:

<div id="slides">
    <section id="first">
        <section>
            <table>
                <thead>
                </thead>
                <tbody>
                    <tr id="somethingUnique">
                    ...
                    </tr>
                </tbody>
            </table>
        </section>
        <section>
            <table>
                <thead>
                </thead>
                <tbody>
                    <tr id="somethingUnique">
                    ...
                    </tr>
                </tbody>
            </table>
        </section> 
       ...
    </section>
</div>

我需要选择从#first部分的最后一部分中获取表格中最后一行的ID。

我正在使用以下Jquery,回到“未定义”......任何想法?

    var lastListItem = $('#first:last-child table>tbody>tr:last').attr("id");
    alert(lastListItem);

5 个答案:

答案 0 :(得分:18)

$('#first table:last tr:last')

或:

$('#first tr:last')

http://jsfiddle.net/hunter/QMzHH/

答案 1 :(得分:0)

var lastListItem = $('#first section:last  table tr:last').attr("id");

答案 2 :(得分:0)

var lastListItem = $("#first").find("section").last().find("tr").last().attr("id");

我更喜欢使用[0] .id而不是.attr(“id”),因为它少了一个方法调用;但是,如果你不肯定你在这个DOM位置总是有一个表格,那么attr更安全。

答案 3 :(得分:0)

<强> .find():

  

获取当前匹配组中每个元素的后代   元素,由选择器,jQuery对象或元素过滤。

​$("#first")​.find("tr:last").attr("id")

或更简单地在这种情况下:

$("#first tr:last").attr("id")

<强> EXAMPLE

答案 4 :(得分:0)

其他答案有效但你尝试的问题是这样的事实 :last-child必须应用于子元素(section),而不是父元素(#first)。以下应该有效

$('#first section:last-child table>tbody>tr:last').attr("id");

可以简化为

$('#first section:last-child tr:last-child').attr("id");

http://jsfiddle.net/e7mUD/1