Как узнать, является ли текущий TD последним TD в TR - PullRequest
3 голосов
/ 15 июля 2011

У меня есть одна строка и несколько <td> с.В одной из моих функций я сталкиваюсь с ситуацией, когда мне нужно выяснить, является ли мой currentSelectedTD последним <td> в ряду, чтобы я мог относиться к нему по-разному.

Я пытался $(currentSelectedTD).is(":last"), который не работает и всегда возвращает true.Я также попробовал несколько других возможностей, которые не работают.

Заранее спасибо.

Ответы [ 5 ]

4 голосов
/ 15 июля 2011

Вы можете использовать .next (), чтобы проверить, есть ли у элемента непосредственно следующий брат или сестра.

if( $(currentSelectedTD).next().length == 0) {
    // is last 
}
0 голосов
/ 18 июля 2011

Вам просто нужно использовать:

$(currentSelectedTD).is("td:last");
0 голосов
/ 15 июля 2011

Думаю, вам следует выполнить :last фильтрацию по полному набору и сохранить результат в переменной. Затем выполните цикл по набору и сравните каждый с тем, который вы сохранили.

0 голосов
/ 15 июля 2011

использование-

if($('.currentSelectedTD:last')){
//do what ever you want
}

или

$lastTd = $('.currentSelectedTD').parent('tr').find('td:last')
0 голосов
/ 15 июля 2011

Вы можете проверить это довольно легко и без использования jQuery:

var isLastChild = currentSelectedTD.parentNode.lastElementChild == currentSelectedTD;

Преимущество этого в том, что он является как собственным DOM, так и простым, однако он будет работать только в современном браузере (например, для нужд).IE9).Вы можете настроить его для работы с чем угодно, но тогда он не будет однострочным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...