2009-12-07 100 views
2

我想要做的是,當我在功能,用戶將鼠標懸停在.yell鍵然後.yell盒-TXT就會消失。影響單個元素的jQuery

唯一的問題是,我在網站上更多然後一個按鈕,每當我將鼠標懸停在所有文本字段都消失其中之一。

這是我的函數:

$('.yell-button').hover(function(){ 

    $('.yell-box-txt').remove() 

}) 

感謝您的幫助提前

回答

3

不知道你的標記,我懷疑你的.yell-box-txt與你的.yell-button在同一個區塊。因此,對於類似這樣的標記:

<div> 
    <a class="yell-button">text button</a> 
    <span class="yell-box-txt">text</a> 
</div> 

你想使用這樣的事:

$('.yell-button').hover(function() { 
    $(this).closest('div').find('.yell-box-txt').remove(); 
}); 
1

類是根據定義,訪問器,潛在的多個元素。如果你想在自己的訪問此元素,通過$('#idname')

1
$('.yell-button:first').hover(function(){ 
    $('.yell-box-txt').remove(); 
}) 

當然它會是更好地考慮使用ID和訪問它,以確保只使用這個類一次。使用ID應該更好,因爲它應該是唯一的(當然,這取決於你,而且你必須檢查你的代碼是否存在不一致,例如具有相同ID的多個元素)

1

使用id和class

JS

$('.yell-button').hover(function(){ 
    $('#box2.yell-box-txt').remove() 
    }) 

HTML

<div id ="box1" class="yell-box-txt">Text in box 1</div> 
    <div id ="box2" class="yell-box-txt">Text in box 2</div> 
    <div id ="box3" class="yell-box-txt">Text in box 3</div> 
1

正如其他人說,沒有您的標記的想法很難幫你,但是這裏有一些方法來做到這一點,取決於你的標記:

理想,你將能夠分配給每個按鈕和關聯的文本框中有一個唯一標識符,如yell-button-1,並使其在移動時刪除關聯的yell-box-txt-1

但是,因爲你需要從恢復的按鈕ID#這種方法可能是「難」來實現。

做到這一點的第二種方法是使用jQuery的穿越的。尋找到文本框是相對於按鈕和使用方法,如parent()siblings(),等。爲確保您只收到一個元素,追加:first.yell-box-txt類從按鈕到文本框中導航。

更多信息有關jQuery Traversing

希望這會有所幫助!