我有两个清单,有5个项目
第一:
<ol class="controls">
<li><a id="bullet-0">1</a></li>
<li><a class="active" id="bullet-1">2</a></li>
<li><a id="bullet-2">3</a></li>
<li><a id="bullet-3">4</a></li>
<li><a id="bullet-4">5</a></li>
</ol>第二:
<ul class="years">
<li id="to-1973" class="year">1973</li>
<li id="to-1983" class="year">1983</li>
<li id="to-1994" class="year">1994</li>
<li id="to-2004" class="year">2004</li>
<li id="to-2015" class="year">2015</li>
</ul>我想使用jQuery检查第一个列表中的hasClass 'active‘,然后将这个类设置为第二个列表。
例如:
如果第一列表中的第二项具有类 active ,则将该类active设置为第二列表中的第二项,然后等。如果第一列表中的第三项为active,则从第二列表中删除活动项并将其设置为第三项。
谢谢!)
发布于 2015-12-10 09:49:46
似乎大多数答案都是针对列表项而不是锚点(其中有活动类)。
//get the index of the active control (target anchor, then get index of parent li)
var index = $('.controls a.active').parent().index();
//remove the current active from the years
$('.years li.active').removeClass('active');
//assign active to correct year
$('.years li').eq(index).addClass('active');发布于 2015-12-10 09:42:10
您可以使用.eq()和.index()
$('.years > li').eq($('.controls > li > a.active').closest('li').index()).addClass('active');从第一个列表中获取li索引,然后addClass到第二个列表中相同的li索引。
如果您需要在单击事件中使用它
$('.controls > li > a').on('click', function(){
var ThisIt = $(this);
$('.years > li').eq(ThisIt.closest('li').index()).addClass('active');
});Working Demo
注意:不要忘记包括jquery
发布于 2015-12-10 09:44:10
你可以用这个:
$('.controls > li').on('click', function() {
$('.active').removeClass('active'); // first remove the active class
$('a', this).addClass('active'); // now add the active class
$('.years > li').eq($('.controls .active').parent().index()).addClass('active');
// here you can add the active class to specific list item.
});.active {
color: red;
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
First:
<ol class="controls">
<li><a id="bullet-0">1</a>
</li>
<li><a id="bullet-1">2</a>
</li>
<li><a id="bullet-2">3</a>
</li>
<li><a id="bullet-3">4</a>
</li>
<li><a id="bullet-4">5</a>
</li>
</ol>
Second:
<ul class="years">
<li id="to-1973" class="year">1973</li>
<li id="to-1983" class="year">1983</li>
<li id="to-1994" class="year">1994</li>
<li id="to-2004" class="year">2004</li>
<li id="to-2015" class="year">2015</li>
</ul>
https://stackoverflow.com/questions/34198293
复制相似问题