jQuery выберите необходимый класс

#jquery

#jquery

Вопрос:

Я пытаюсь выбрать класс otf_itm, но я использовал его дважды на этой конкретной странице. Мне нужно использовать метку в качестве корня для выбора otf_itm. Я использовал следующее и работает нормально, но я хочу проверить и убедиться, что это наилучшая практика для использования в данной ситуации.

JS:

 $("label[for='town_id']").next().children();
  

HTML:

 <div class="form-group">

    <label for="town_id">Town:</label>
    <div class="col-md-3 controls">

        <div class="otf_itm">
            <!-- form items that chagne due to other data -->
        </div>

    </div>

</div>
  

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

1. $("label[for='town_id']").next().find('.otf_itm') будет работать хорошо. .next() было бы хорошо, если бы структура не менялась

Ответ №1:

Используйте вот так

 $("label[for='town_id']").next().find(".otf_itm");
  

find() будет искать дочерние элементы на любых уровнях. В то время как children() будет выполняться поиск дочерних элементов первого уровня.

В вашем случае оба find() и children() будут работать нормально.

Или вы также можете использовать подобное,

 $("label[for='town_id']").closest(".form-group").find(".otf_itm");
  

closest() получит родительский элемент с указанным классом