JQuery: как выбрать метку предка ввода

У меня есть следующий HTML:

<div class = "control-group">
  <label class = "control-label-sub">Description/Pack Size</label>
  <div class = "controls">
    <input type = "text" name = "packetSize" class = "wfinput required form_error" id = "packetSize" />
    <label id = "packetSize-error" class = "form_error" for = "packetSize">
      This field is required.
    </label>
  </div>
</div>

Есть ли способ выбрать элемент <label>, который является дочерним элементом .control-group (то есть элемент с текстом «Описание/размер упаковки»), из текстового поля <input /> в моем HTML?

использовать: .parent()

Roy Bogado 30.05.2019 13:31

Это .prev() не .parent()

tcj 30.05.2019 13:34

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

Juan Mendes 30.05.2019 13:36

Для справки см. Обход дерева и Перемещение и манипулирование.

showdev 30.05.2019 13:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
184
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Чтобы выбрать элемент <label>, который находится над элементом <input/>, вы можете:

  1. сначала используйте .closest(), чтобы выбрать первый элемент .control-group над элементом <input/>, а затем
  2. выберите первый дочерний ярлык этого .control-group

Этого можно добиться с помощью следующего сценария jQuery:

const input = $('input[name = "packetSize"]');

const controlGroup = input.closest('.control-group');

const label = $('label', controlGroup);

Это можно сжать в одну строку, но я разбил ее на шаги для ясности. Надеюсь, это поможет.

Я хочу начать с inputFieldId (представьте себе так много полей ввода)

Adrian Manangan 30.05.2019 13:35

Я хочу выбрать элемент метки, используя inputElement

Adrian Manangan 30.05.2019 13:37

Дакр, ты должен научить ОП задавать вопросы, ты догадываешься, что они хотят сделать, но ОП не предоставил достаточно информации.

Juan Mendes 30.05.2019 13:41

Если вы хотите получить всю метку, этот класс был назван «control-label-sub».

var element = $("label.control-label-sub")

И если вы хотите получить только этот ярлык, я предпочитаю следовать

var element = $("input#packetSize").parent().prev()

Другие вопросы по теме