В моем HTML-файле, созданном плагином, есть следующая ситуация:
<div class="form-controls">
<div class="form__field ">
<div class="preferences__notification">
<label id="user_comment" class="form-label"></label>
</div>
</div>
</div>
<div class="form-controls">
<div class="form__field ">
<div class="preferences__notification">
<label id="wall_post" class="form-label"></label>
</div>
</div>
</div>
В приведенном выше HTML содержится около 20 повторяющихся элементов, и я пытаюсь вызвать отдельных основных родителей form-controls
, чтобы я могдобавить уникальный CSS или JQuery.Единственный уникальный идентификатор в этом HTML-коде находится на вложенном label
.Таким образом, есть 20x уникальных <label>
идентификаторов.Так что мне было интересно, как можно скопировать идентификатор label
в его верхний родительский `form-control 'с помощью jQuery, поэтому результат будет для первого:
<div id="user_comment" class="form-controls">etc</div>
Обновление решения Мой первоначальный запрос на добавление того же
id
из
<label>
в верхний родительский элемент не имеет смысла в HTML.Таким образом, принятый ответ в порядке, но не идеален.Чтобы сделать HTML более корректным, я выбрал имя
<label id=
в качестве дополнительного класса для верхнего родителя.Таким образом, окончательное решение будет таким:
jQuery(".form-controls").each(function() {
var label_id_name = jQuery(this).find('label').attr('id');
jQuery(this).addClass(label_id_name);
});
И HTML-результат:
<div class="form-controls user_comment">
<div class="form__field ">
<div class="preferences__notification">
<label id="user_comment" class="form-label"></label>
</div>
</div>
</div>
<div class="form-controls wall_post">
<div class="form__field ">
<div class="preferences__notification">
<label id="wall_post" class="form-label"></label>
</div>
</div>
</div>