2014-04-03 65 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