Ответ 1
это может сработать для вас...
$('.trhideclass1').hide();
<tr class="trhideclass1">
<td>Label</td>
<td>InputFile</td>
</tr>
Я скрываю кучу текстовых полей, и это прекрасно работает, проблема в том, что текстовые поля находятся в таблице, поэтому мне также нужно скрыть соответствующие метки. структура что-то вроде этого
<tr>
<td>
Label
</td>
<td>
InputFile
</td>
</tr>
на самом деле его просто проще, если я спрячу строки, которые имеют fileinput, может кто-то помочь пожалуйста
это может сработать для вас...
$('.trhideclass1').hide();
<tr class="trhideclass1">
<td>Label</td>
<td>InputFile</td>
</tr>
Вам просто нужно пройти дерево DOM до ближайшего <tr>
, например, так...
$("#ID_OF_ELEMENT").parents("tr").hide();
Это должно сделать трюк.
$(textInput).closest("tr").hide();
$('inputFile').parent().parent().children('td > label').hide();
может помочь вам перемещаться на два уровня вверх (до TD, TR), перемещая два уровня назад (все TD в этом TR и их метки LABEL), применяя там функцию hide().
если вы хотите остаться на уровне TR и скрыть их:
$('inputFile').parent().parent().hide();
... достаточно.
вы можете легко перемещаться по элементам с помощью селекторов jquery.
родительский документ описан здесь: http://api.jquery.com/parent/
скрывается: http://api.jquery.com/hide/
HTML
<tr><td><a href="" onclick=hideRow(event)></a></td></tr>
JQuery
function hideRow(event){
$(event.target || event.srcElement).parents('tr').hide();
}
Если метка находится в строке таблицы, вы можете сделать это, чтобы скрыть строку:
('.InputFile').parent().Hide()
Вы можете уточнить свой селектор по мере необходимости, а затем получить строку таблицы, содержащую этот элемент.
Справка по выбору JQuery: http://api.jquery.com/category/selectors/
EDIT Это правильный способ сделать это.
('.InputFile').parents('tr').hide()
Использование parents('tr').hide()
работает. Однако, если есть встроенная таблица, все родительские строки tr
будут скрыты. В моем случае вся форма скрыта, так как имеется много встроенных таблиц.
Я думаю, что ваш лучший выбор, если вы хотите, чтобы и текстовое поле, и метка, чтобы скрыть одновременно, назначают каждый класс и скрывают их следующим образом:
jQuery(".labelClass, .inputClass").hide();