我有两个列表,包含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' 活动 ',然后将此类设置为第二个列表。
例如:
如果第一个列表中的第二项具有 活动 类,请将此类 活动 设置为第二个列表中的第二个项目,然后如果第一个列表中的第三项是 活动 ,则从第二个列表中删除活动并将其设置为第三个项目。
提前致谢! :)
答案 0 :(得分:2)
似乎大部分答案都是针对列表项而不是锚(具有活动类)。
//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');
答案 1 :(得分:1)
您可以使用 .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');
});
注意:不要忘记包含jquery
答案 2 :(得分:1)
您可以使用:
$('.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.
});
&#13;
.active {
color: red;
}
&#13;
<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>
&#13;
答案 3 :(得分:0)
尝试,
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access