7

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

<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);
4

5 回答 5

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

或者:

$('#first tr:last')

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

于 2012-10-08T17:45:58.483 回答
1
var lastListItem = $("#first").find("section").last().find("tr").last().attr("id");

我更喜欢使用 [0].id 而不是 .attr("id") 因为它少了一个方法调用;但是,如果您不确定在该 DOM 位置始终有一个表,则 attr 更安全。

于 2012-10-08T17:47:02.530 回答
0

The other answers work but the problem with your attempt is the fact that :last-child has to be applied to the child element (section), not the parent (#first). The following should work

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

And could be simplified to

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

http://jsfiddle.net/e7mUD/1

于 2012-10-08T17:59:49.300 回答
0

。寻找():

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

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

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

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

例子

于 2012-10-08T17:48:46.267 回答
0
var lastListItem = $('#first section:last  table tr:last').attr("id");
于 2012-10-08T17:46:53.333 回答