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.
Что мне здесь не хватает?
Ответы
Ответ 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');