2016-04-09 25 views
-2

我想一個類添加到我的p元素時,textarea的活躍添加類元素時textarea的集中

這是我到目前爲止,沒有運氣了。

<textarea class="text"></textarea> 
    <p class="someClass"> 
    <span class="span"> 
     TEXT 
    </span> 
    </p> 

jQuery的

$('textarea').focus(
    $(".someClass").addClass("focused"); 
}); 

我試圖完成最後的結果是,當textarea的集中

<textarea class="text"></textarea> 
    <p class="someClass focused"> 
    <span class="span"> 
     TEXT 
    </span> 
    </p> 

可以這樣做通過抓取集合類 「SomeClass的」?

回答

1

你實際上是做錯了。你應該通過發送一個匿名函數來做到這一點:

$('textarea').focus(function() { 
    $(".someClass").addClass("focused"); 
}); 

你錯過了。我想說一個更好的辦法,如果.someClass旁邊有問題的元素,你可以使用CSS的兄弟選擇+,無需使用JavaScript:

textarea:focus + p { 
 
    background: #99f; 
 
}
<textarea></textarea> 
 
<p>Click on TextArea</p>

+1

與CSS的方法去,甚至沒有想到這一點。謝謝 –

+0

這個解決方案有什麼問題? ':/' –

+1

什麼也沒有......我用 textarea:focus + p { background:#99f; } –

0

您應該爲focus事件處理程序提供一個匿名函數。試試這個:

$('textarea').focus(function() { 
    $(".someClass").addClass("focused"); 
}); 

另外請注意,你可以在CSS中完成,而不需要任何JS代碼。當textarea失去焦點時,使用CSS方法還可以自動刪除樣式。

textarea:focus + p { 
    /* styles in here which matched the .focused class */ 
} 

Working example

+0

與CSS法,didnt去連想到這一點。謝謝 –