То, что я пытаюсь выполнить, - это когда пользователь фокусируется на текстовом поле, поле, которое находится внутри, добавит класс «active_fieldset», чтобы он дал хороший визуальный сигнал о том, где пользователь находится в форме. Используя следующий javascript, он влияет на родительский набор полей, но также влияет и на все поля для сиблинга. Я делаю что-то неправильно? Есть что-то принципиально неправильное с моим HTML или javascript?jquery.parents() выбирает дедушку и бабушку и братьев и сестер дедушки и бабушки
Пример HTML:
<div id="content">
<form action="next_page" method="post">
<fieldset>
<legend>Foo</legend>
<p><label for="one">One</label> <input type="text" class="input_text" name="one" value="" id="one"></p>
</fieldset>
<fieldset>
<legend>Bar</legend>
<p><label for="two">Two:</label><input type="text" class="input_text" name="two" value="" id="two"></p>
</fieldset>
<p><input type="submit" value="Continue →"></p>
</form>
</div>
form.js:
$(document).ready(function(){
$('.input_text').focus(function(){
$(this).parents('fieldset').addClass("active_fieldset");
});
});
EDIT:
Я включил мой CSS:
fieldset
{
border-width: 10px 0 0 0;
border-style: solid;
border-color: #0D6EB8;
}
fieldset.active_fieldset
{
border-width: 10px 0 0 0;
border-style: solid;
border-color: #0D6EB8;
}
Это один из способов сделать это, но на самом деле не затрагивает проблему, которую имеет пользователь. – cletus
cletus прав, я пробовал ближе всего, и это вызывает ту же проблему. – Kylee
Я не уверен, что проблема связана с селектором, но, возможно, с невозможностью удалить класс из других полей, когда сменяется фокус. Я не думаю, что метод родителей фактически выбирает братьев и сестер родителя (это будет ошибка IMO). Я обновил свой пример. – tvanfosson