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

メソッド呼び出しが1つ少ないため、.attr( "id")の代わりに[0].idを使用することをお勧めします。ただし、常にそのDOM位置にテーブルがあることに確信が持てない場合は、attrの方が安全です。

于 2012-10-08T17:47:02.530 に答える
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 に答える
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

于 2012-10-08T17:59:49.300 に答える