2010-06-03 113 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