2014-04-03 66 views
0

我試圖刪除在菜單上懸停的元素上方的兄弟上的邊框底部。我不知道我是否使用了錯誤的功能,或者是否有其他問題。感謝您的任何反饋。jQuery - 從前面的兄弟元素中刪除邊框

的jQuery:

jQuery(document).ready(function(){ 
    $('#nav_1487666 li a').mouseover(function(){ 
     $(this).prev().css("border-bottom", "none"); 
    }); 
}); 

HTML:

<ul id="nav_1487666"> 
    <li><a href="/index">Home</a></li> 
    <li><a href="#">About</a></li> 
    <li><a href="#">Landscaping</a></li> 
    <li><a href="#">Irrigation</a></li> 
    <li><a href="#">Porous Pave</a></li> 
    <li><a href="#">Demo Dumpsters</a></li> 
    <li><a href="#">Other Services</a></li> 
    <li><a href="#" onclick="return false;">Lawn Care</a></li> 
    <li><a href="#" onclick="return false;">Contact</a></li> 
</ul> 
+4

嘗試'$ (this).parent()。prev()'假設邊界在li上。如果你想要它的錨點然後'$(this).parent()。prev()。find('a')' – Huangism

回答

3

變化

$(this).prev().css("border-bottom", "none"); 

$(this).parent().prev().css("border-bottom", "none");// To remove border from li 

$(this).parent().prev().find('a').css("border-bottom", "none");// To remove border from a 
+1

我不認爲'$(this).parent()。find('a' ).prev()'works http://jsfiddle.net/jZkW7/1/應該是'$(this).parent()。prev()。find('a')'.parent()獲取當前li ,.prev()獲得prev li並找到獲取錨點 – Huangism

+0

@Huangism是的我同意你編輯我的答案。謝謝:) –

+0

第三個選項適用於我,因爲邊界位於錨元素上。謝謝。 – Phorden

0

假設邊界上慄,這樣的事情 -

#nav_1487666 li{ 
border: 1px solid red; 
margin: 5px; 
} 

那麼你的jQuery選擇更改爲

$('#nav_1487666 li').mouseover(function(){ 
    $(this).prev().css("border-bottom", "none"); 
}); 

檢查fiddle