2012-02-09 9 views
1

У меня есть форму Rails, которая имеет несколько таблиц. Одной из таблиц имеет выпадающий элемент интереса, который можно получить доступ по идентификатору, как так:Цепные селекторы в jQuery

$('#contract_contract_phases_attributes_0_ngl_price_term') 

Я показываю/прятался еще один элемент на основе значения, выбранного в нем, что не является проблемой. Проблема заключается в следующем: строка заголовка таблицы для элемента имеет элемент «th», который мне нужно показать/скрыть. Я могу добраться до элемента таблицы родительского следующим образом:

$('#contract_contract_phases_attributes_0_ngl_price_term').closest('table') 

Однако я пытаюсь целевой элемент заголовка (й), которая должна быть скрыта, давая ему класс «price_term». Так что я пытаюсь дальше сузить ближайший элемент этого го элемента следующим образом:

$('#contract_contract_phases_attributes_0_ngl_price_term').closest('table th.price_term') 

Однако, это не работает. Есть ли способ, которым я могу настроить таргетинг на этот элемент заголовка?

ответ

2

.closest() только смотрит на родителя, прародителя, прадедушку и т. Д. - только идет вверх в DOM.

.find() только смотрит на детей, внуков и т. Д. - он идет вниз через DOM.

Таким образом, вы хотите идти вверх (.closest()) к столу, и вниз (.find()) к th.price_term:

$('#contract_contract_phases_attributes_0_ngl_price_term') 
    .closest('table') 
    .find('th.price_term') 
+0

спасибо. да, это работает как шарм! – Bharat

1

ли эта работа?

$('#contract_contract_phases_attributes_0_ngl_price_term').closest('table').find('th.price_term') 
+0

Привет Трейси, да. благодаря этим работам. Это то же самое, что и выше. Я ценю ваше время. – Bharat

Смежные вопросы