我有一个定制手风琴使用ul。我还在顶部有一个计数器,显示你所在的手风琴部分。即。 1-2-3-4-5并根据你所在的手风琴的哪个li强调它们。
我正在尝试获得手风琴LI的索引,该手风琴具有类' activeform'然后分配一个“活跃的”#39;类对应的UL li对应。
我已经做了很多寻求决心,但我不确定我是否做得对。它当然不起作用!
非常感谢任何帮助。
if($('.form-accordion li').hasClass('activeform')) {
var number = $(this).index();
if(number == $('.number-list li').index()) {
$('.number-list li').addClass('active');
}
}
答案 0 :(得分:0)
我认为您遇到的问题是this
处理程序中的if
引用,它不引用li.activeform
元素。您的第二个if
条件也是错误的,因为它会为索引返回0
。
您需要根据其兄弟姐妹获取li.activeform
索引,因此请使用$('.form-accordion li.activeform').index()
,然后使用该索引获取正确的.number-list li
元素
var idx = $('.form-accordion li.activeform').index();
if (idx >= 0) {
$('.number-list li.active').removeClass('active'); //only if you want to remove the previous active class here
$('.number-list li').eq(idx).addClass('active');
}

.active,
.activeform {
color: green;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="form-accordion">
<li>1</li>
<li>2</li>
<li class="activeform">3</li>
<li>4</li>
</ul>
<ul class="number-list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
&#13;
答案 1 :(得分:0)
尝试使用下面的eq:
var number = $('.form-accordion li.activeform').index();
$('.number-list li').eq(number).addClass('active');
答案 2 :(得分:0)
试试这个
$('.number-list li').removeClass('active');
$('.number-list li:eq('+$('.form-accordion li.activeform').index()+')').addClass('active');