Подтвердить что ты не робот

JQuery: найдите следующую таблицу-строку

У меня есть таблица, содержащая строки, содержащие ячейки, и некоторые из них содержат img следующим образом:

<img id="FormView1_btnSave_row1%1%new" style="border-width: 0px; cursor: pointer;"
src="grafik/ok_16x16.gif" onclick="cleverStuff(this)"/>

В функции cleverStuff я хотел бы работать на строке, которая следует за строкой, в которой была нажата кнопка - эта специальная кнопка содержится только в последней видимой строке, рядом есть куча скрытых строк, и я хочу сделать первую скрытую линию видимой - но я не могу добраться до следующей строки. Я понял, что вся комбинация parent() и next() может использоваться для перехода от img к td, к tr и, наконец, к следующему tr. Поэтому я попытался проверить это:

$(ctrl).attr('id') корректно возвращает img id:)

$(ctrl).parent().attr('id') возвращает NULL.

Что мне здесь не хватает?

4b9b3361

Ответ 1

Это должно дать вам вложенный tr элемента, даже если это не элемент прямой родительский, а затем эта строка следующей строки. если вы используете родительский элемент, находящийся внутри td, он даст вам столбец, а не строку. Поставка фильтра для метода parent() будет просто отфильтровывать родителя, если это не соответствует фильтру, что обычно не приводит к совпадению элементов. Ближайший, вероятно, то, что вы хотите, но родители ( "tr" ) могут потребоваться, если у вас есть вложенные таблицы и требуется внешняя строка вместо внутренней строки.

$(this).closest('tr').next('tr')

Ответ 2

Вы действительно не показываете нам достаточно HTML, но это должно работать:

$(ctrl).parent('tr').next();

Ответ 3

Возможно, у родительского элемента не установлен его идентификатор? Чтобы перейти к следующей строке из изображения, я считаю, что вы можете сделать:

$(this).parent('tr').next('tr')

Ответ 4

Я надеюсь, что вы можете использовать

jQuery(this).parents('tr');