2010-06-03 79 views
1

我对jquery很新,需要一些帮助。我正在尝试在输入文本框时更改CSS元素。我已将一个css类应用于我的文本框,并且我的文本框中有一些div标签。将jquery函数绑定到元素

当用户选择文本框时,我想更改所需的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元素类之外的选定文本框的CSS更改?

任何帮助将是伟大的!

+0

你的问题,就像昨天一样http://stackoverflow.com/questions/2964615/attaching-a-jquery-function-to-some-textboxes令人困惑...请更多详细... – Reigel 2010-06-03 23:44:47

回答

2
<script language="javascript" type="text/javascript"> 
    $(function() { 
     $('.myTextBox').focus(function() { 
      $(this).closest('.left').addClass("active"); 
     }) 
     .blur(function() { 
      $(this).closest('.left').removeClass("active"); 
     }); 
    }); 


</script> 

this指收到该事件的元素。

因此,您将this换成jQuery对象$(this)并使用您指定的类访问closest()祖先。

.closest() - http://api.jquery.com/closest/

0

你不说清楚,所以,在这里,我的猜测......

$(function() { 
     $('.myTextBox').focus(function() { 

      $(this).closest('.left').addClass("active"); 

     }).blur(function() { 

      $(this).closest('.left').removeClass("active"); 

     }); 
    }); 
0

嘿Regiel,对不起,我无法找到旧的帖子所以创建一个新的,并试图更清晰一点.....显然不是:(

<div class="left" id="1"> 
    <div class="right"> 
     <input name="myTextBoxID" type="text" id="myTextBoxID1" class="myTextBox" /><span 
      id="rfInput"></span> 
    </div> 
</div> 
<div class="left" id="2"> 
    <div class="right"> 
     <input name="myTextBoxID2" type="text" id="Text2" class="myTextBox" /><span 
      id="Span1"></span> 
    </div> 
</div> 
<div class="left" id="3"> 
    <div class="right"> 
     <input name="myTextBoxID3" type="text" id="Text3" class="myTextBox" /><span 
      id="Span2"></span> 
    </div> 
</div> 

好所以我们可以说我有3个div标签,里面有class =“left”我有我的文本框当我得到焦点内容让我们说例如myTextBoxID1我想要它的父母div id =“1”的css从左边改变到左边我不希望任何其他元素发生变化

希望能让你更有意识

+1

帮助保持stackoverflow整洁。请通过编辑问题发布其他信息,而不是发布答案。 – user113716 2010-06-04 00:02:31