Как выбрать Tr по значению в одном из его дочерних элементов

#javascript #jquery

#javascript #jquery

Вопрос:

Как я могу выбрать Tr который содержит в одном из своих дочерних элементов скрытое поле с определенным значением.

 <tr id="tr1">
      <td id="td1">
            <input type="hidden" id="idField" value='theSpecificValue'/>
  

Я хочу выбрать, tr1 имеет ли скрытое поле idField определенное значение.

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

Ответ №1:

 $('#idField[value="theSpecificValue"]').closest('tr')
  

Хотя идентификаторы должны быть уникальными, поэтому, возможно, игнорируйте это и используйте

 $('input[value="theSpecificValue"]').closest('tr')
  

Редактировать:

 $("tr:has(input:hidden[value=theSpecificValue])")
  

Автор по какой-то причине удалил этот ответ. Мне это понравилось больше, чем у меня, и я проголосовал за это.

Ответ №2:

Использование, .closest('tr') которое будет проходить по DOM, находя ближайший <tr> элемент, и после того, как найдено, остановится, в отличие от .parents('tr') , которое будет соответствовать до самого корня (нежелательно)

Ответ №3:

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

 $('#idField[value=theSpecificValue]').closest('tr')
  

Ответ №4:

Не совсем уверен, что вы пытаетесь получить от tr, но вам следует поискать родительский

итак

 $('#idField).parent();
  

вернет

 <td id="td1">
  

и затем вы могли бы снова перейти к DOM с помощью parent().

Комментарии:

1. Я использую выбираемый из пользовательского интерфейса jQuery для Tr в таблице. и я хочу выбрать tr программно, если скрытое поле соответствует определенному значению.

Ответ №5:

 $(":input[value='specifiedValue']").parents("#tr1:first")