#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. Это не тег ввода, вы устанавливаете текст в пределах диапазона.