получение строки таблицы $ этой родительской таблицы - PullRequest
0 голосов
/ 19 октября 2011

У меня есть ссылка href под моей таблицей, и я хочу иметь возможность манипулировать строками таблицы, нажав на эту ссылку, но я не могу их получить!

вот мой HTML

<div>
  <div>  <a href="#remove" class="removelink" > remove </a> </div>

    <table>
    <tr> <td></td> </tr>
    </table>
 </div>

Я хочу сделать что-то вроде:

$('.removelink').click(function(){
$(this).parent().siblings('table tr:last').remove();
})

я могу добраться до стола по

$(this).parent().siblings('table')

но я не могу получить строки чем-то вроде

$(this).parent().siblings('table tr')

Ответы [ 3 ]

2 голосов
/ 19 октября 2011

Вы можете использовать find, чтобы перейти к tr из table:

$('.removelink').click(function(){
    $(this).parent().siblings('table').find('tr:last').remove();
});

Вот рабочий пример . Если ваша структура HTML всегда точно такая, как вы показали, вы можете использовать next() вместо siblings('table') для немного более короткого кода.

Проблема с вашим текущим кодом заключается в том, что siblings('table tr') будет искать родного брата div, который является tr, а их нет!

1 голос
/ 19 октября 2011

.siblings(selector) вернет всех братьев и сестер определенного элемента, соответствующих селектору.

.siblings('table tr') будет возвращать что-то, только если элемент контекста имеет элементы tr в качестве братьев и сестер, а div нет.

Просто используйте .find:

$(this).parent().siblings('table').find('tr').last()
0 голосов
/ 19 октября 2011
var $context = $(this).parent().siblings('table');
$("tr:last", $context);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...