将jquery函数绑定到元素
我对jquery很新,需要一些帮助。 我在输入文本框时尝试更改css元素。 我已经在我的文本框中应用了一个css类,我的文本框周围有几个div标签。
当用户选择文本框时,我想更改所需的div标签。
这就是html的外观
我的jquery看起来像这样
$(function () { $('.myTextBox').focus(function () { $('.box.left').addClass("active"); }).blur(function () { $('.box.left').removeClass("active"); }); });
现在jquery正在工作并改变了焦点和模糊的类,但是它会影响所有元素,而不是class =“myTextBox”如何让jquery附加到所有元素但是只激发css更改到元素类之外的选定文本框?
任何帮助都会很棒!
this
是指接收事件的元素。
所以你将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"); }); });
嘿Regiel,对不起,我找不到旧post,所以创建了一个新的,并试图更清楚……显然不是:(
好吧,让我说我的3个div标签与class =“left”里面我有我的文本框。 当我得到焦点时,让我们说例如myTextBoxID1我希望它的父div id =“1”的css从左变为左激活。 我不希望任何其他元素改变。
希望更有意义