2014-01-10 3 views
0

У меня есть таблица, и в одном td у меня есть другая таблица.JQuery - выберите последний tr моего стола

То, что я пытаюсь сделать, это выбрать только последний 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() и так далее, но я не могу выбрать его.

Может кто-нибудь дать мне руку с этим?

+0

Какой параметр вы перейти к '.find()' (и так далее)? –

+0

'$ ('table'). First(). Children(). Children(). Last()' или '$ ('table table'). Closeest ('tr')' должен работать с учетом этого точного html .. . Однако ответ Нитэ намного лучше - дайте таблице идентификатор и выберите строки на основе этого. Только мои 2 цента;) – xec

ответ

3

Предположив у вас есть идентификатор на первом столе, подставляя #example, вы можете использовать:

$('#example > tbody > tr:last-child')

или

$('#example > tbody > tr').last()

+1

Не получится. Проверьте инспектор DOM. –

+0

Да, следовательно, «Подставляя любые имена классов в таблицу», - я сделаю это яснее :) – andy

+0

большое спасибо – user2232273

0

Попробуйте это:

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

Сначала вы ed дает id или класс, как для id = «outermost-table», а затем попробуйте с этим другим дать 2 элемента.

$("#outermost-table tr:last) 
2

Vanilla JS на помощь!

Предполагая, что вы можете получить таблицу как-то (возможно, getElementById если вы даете ему идентификатор), то вы можете сделать это:

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

Демо: http://jsfiddle.net/5Y9mG/7/

Добавить идентификатор таблицы в вашем HTML, как это :

<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 :)'); 
    }) 
}); 
+0

Это выберет последний ряд * внутренней * таблицы. Наверное, не то, что хочет. – xec

+0

@xec: он хотел получить последнюю тройку своего первого стола. И первая таблица last tr содержит другую таблицу. Так что она должна работать для всех последних таблиц tr и td click. –

+0

Попробуйте нажать «a» в последней строке внешней таблицы - это не сработает, потому что выбран последний TR (что «tr: last') находится внутри внутренней таблицы. http://jsfiddle.net/5Y9mG/8/ – xec

Смежные вопросы