Javascript 不确定为什么jQuery.prev()不起作用
我想做的是,当我把鼠标悬停在一个链接上时,让它的右边框改变颜色,同时也让上一个链接的边框改变颜色Javascript 不确定为什么jQuery.prev()不起作用,javascript,jquery,html,Javascript,Jquery,Html,我想做的是,当我把鼠标悬停在一个链接上时,让它的右边框改变颜色,同时也让上一个链接的边框改变颜色 <div id="navbar"> <ul> <li><a href="#">News</a></li> <li><a href="#">Gigs</a></li> <li><a href="#">Ga
<div id="navbar">
<ul>
<li><a href="#">News</a></li>
<li><a href="#">Gigs</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Social</a></li>
</ul>
</div>
任何帮助或建议都将不胜感激,谢谢 选择器
li a
选择每个
元素.prev()
选择上一个同级,而不是“集合中的上一个元素,
没有上一个元素,因为它们没有同级,只有父级。请尝试以下方法:
$(this).closest('li').prev().children().animate(...);
此外,您还使用了borererightcolor
而不是borderRightColor
来自:
说明:获取匹配元素集中每个元素的前一个兄弟元素,可选地通过选择器进行筛选
链接不是兄弟
$("li").hover(function() {
$(this).children().animate({
color: '#0099FF',
borderRightColor: '#0099FF'
}, 500);
$(this).prev().children().animate({borerRightColor: '#0099FF'}, 500);
}, function () {
$(this).children().animate({
color: '#FFFFFF',
borderRightColor: '#FFFFFF'
}, 500);
$(this).prev().children().animate({borerRightColor: '#FFFFFF'}, 500);
});
。我将鼠标悬停在
上,这样您就不会到处走动。该上下文指的是被悬停的元素,而不是
。
元素没有以前的同级
使用parent
方法访问
:
$(this).parent()......
您正在寻找:$(this).parent().prev().children('a:first')
如果这个答案解决了您的问题,您介意干杯吗!
$(this).parent()......