селектор jquery, ссылающийся на родительский класс?

#jquery

#jquery

Вопрос:

У меня есть следующая структура:

 <div id="1"><input class="a"></input><span class="b"></span></div>
    <div id="2"><input class="a"></input><span class="b"></span></div>
<div id="3"><input class="a"></input><span class="b"></span></div>
  

и я хочу написать событие change (), которое будет применяться к каждому полю ввода. При запуске события я хочу, чтобы innerhtml соответствующего тега span обновлялся с помощью *. Как мне написать селектор, который позволит мне это сделать? Я не думаю, что смогу использовать селектор $ (this), потому что как мне достичь диапазона? Это не похоже на то, что содержится внутри входных данных. Есть ли способ сослаться на родительский (т.Е.: div), а затем перейти к диапазону?

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

1. Обязательно проголосуйте за хорошие ответы и примите лучший ответ 🙂

Ответ №1:

 $('input.a').change(function() {
    $(this).next('span.b').text('*');
});
  

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

1. Большое спасибо! Но разве я не должен использовать val (), поскольку я использую входной тег?

2. @user1015214 Но вы не меняете значение входного тега; вы меняете содержимое диапазона.

Ответ №2:

$(this).братья и сестры («span»).html(«*»);

На самом деле, вы можете потратить некоторое время на чтение обхода дерева jQuery.

Ответ №3:

 $("input").change(function(){
    $(this).next().text("*");
});
  

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

1. Большое спасибо! Но разве мне не нужно использовать val, если это входной тег?

2. Это не тег ввода, вы устанавливаете текст в пределах диапазона.