我想要的是在活动类之前添加类所有LI bellow就像代码一样
说当前的3级数字li然后再添加1级和2级li
<ul id="nav">
<li class="bar"><a href="#"><span>Home</span></a></li>
<li class="bar" ><a href="#"><span>Products</span></a></li>
<li class="current"><a href="#"><span>Rentals</span></a></li>
<li><a href="#"><span>Company</span></a></li>
<li><a href="#"><span>Services</span></a></li>
<li><a href="#"><span>Location</span></a></li>
<li><a href="#"><span>Contact Us</span></a></li>
</ul>
当第五个数字激活
时相同 <ul id="nav">
<li class="bar"><a href="#"><span>Home</span></a></li>
<li class="bar" ><a href="#"><span>Products</span></a></li>
<li class="bar" ><a href="#"><span>Rentals</span></a></li>
<li class="bar" ><a href="#"><span>Company</span></a></li>
<li class="current"><a href="#"><span>Services</span></a></li>
<li><a href="#"><span>Location</span></a></li>
<li><a href="#"><span>Contact Us</span></a></li>
</ul>
我试着。如果我可以做到这一点,那么我将继续更新
答案 0 :(得分:3)
您可以使用try .prevAll()
$('#nav li.current').prevAll().addClass('bar')
答案 1 :(得分:0)
你应该使用jquery
的prevAll()函数$('#nav li.current').prevAll().addClass('bar');
答案 2 :(得分:0)
$("#nav li").find(".current").prevAll().addClass('bar');
这将为所有prev添加类。元素
答案 3 :(得分:0)
检查此demo
//To select all previous elements of `.current` element:
$('.current').prevAll().addClass('bar');
//To select all next elements of `.current` element:
$('.current').nextAll().addClass('bar');
答案 4 :(得分:0)
我知道问题是标记为jQuery,但是这里也是纯粹的js方法,使用previousElementSibling
var el = document.querySelector('.current').previousElementSibling;
while (el) {
el.classList.add('bar')
el = el.previousElementSibling;
}