Я очень плохо знаком с jQuery и нуждаюсь в некоторой помощи. Я пытаюсь изменить элемент CSS, когда я ввожу текстовое поле. Я применил класс CSS к своим текстовым полям, и у меня есть несколько тегов Div вокруг моих текстовых полей.
Когда пользователь выбирает текстовое поле, я хочу изменить желаемый тег Div.
Это - то, как HTML смотрит
<div class="left">
<div class="right">
<input name="myTextBoxID" type="text" id="myTextBoxID" class="myTextBox" />
<span id="rfInput"></span>
</div>
</div>
мой jQuery похож на это
<script language="javascript" type="text/javascript">
$(function () {
$('.myTextBox').focus(function () {
$('.box.left').addClass("active");
}).blur(function () {
$('.box.left').removeClass("active");
});
});
</script>
Теперь jQuery работает и изменяет класс на фокусе и размытости однако, это производит все элементы witht он класс = "myTextBox", как я могу добраться, jQuery для присоединения ко всем элементам однако только запускают изменение CSS в выбранных текстовых полях вне класса элементов?
Любая справка была бы большой!
<script language="javascript" type="text/javascript">
$(function () {
$('.myTextBox').focus(function () {
$(this).closest('.left').addClass("active");
})
.blur(function () {
$(this).closest('.left').removeClass("active");
});
});
</script>
это
относится к элементу, получившему событие.
Таким образом, вы заключаете this
в объект jQuery, $ (this)
и получаете доступ к предку closest ()
с назначенным классом.
.closest ()
- http://api.jquery.com/closest/
вы не были так ясны, так что вот моя догадка ...
$(function () {
$('.myTextBox').focus(function () {
$(this).closest('.left').addClass("active");
}).blur(function () {
$(this).closest('.left').removeClass("active");
});
});