【发布时间】:2014-06-05 16:15:43
【问题描述】:
我今天看到this question 并且好奇地提出了我自己的概念(或者可能是那个问题的 OP 概念),但我卡在这里,我如何在活动课程之后迭代列表并从头开始。让我们从下面的html中弄清楚:
<ul>
<li name="6">one</li>
<li name="1" class="active">two</li>
<li name="2">three</li>
<li name="3">four</li>
<li name="4">five</li>
<li name="5">six</li>
</ul>
现在,如果活动类在倒数第二个 li 中,则如下所示:
<ul>
<li name="3">one</li>
<li name="4">two</li>
<li name="5">three</li>
<li name="6">four</li>
<li name="1" class="active">five</li>
<li name="2">six</li>
</ul>
对于更长的列表,如下所示:
<ul>
<li name="3">one</li>
<li name="4">two</li>
<li name="5">three</li>
<li name="6">four</li>
<li name="1" class="active">five</li>
<li name="2">six</li>
<li name="3">seven</li>
<li name="4">eight</li>
<li name="5">nine</li>
<li name="6">ten</li>
<li name="1">eleven</li>
<li name="2">tweleve</li>
</ul>
我的意思是我想这样做:
- 从活动类开始,它应该从 1 开始,然后增加 1 用于下一个 兄弟姐妹
- 从活动类开始,它应该从 1 开始并减少 1 上一个兄弟姐妹(意思是 6、5、4...)
我所做的是:
$('li').attr('name',function(i){
i += 5
return i % 6 + 1;
});
但是如果活动类在第二个列表中,结果会很好。那么如果我不知道活动课程在哪里,我该怎么办呢?
【问题讨论】:
-
我不认为这是你提供的重复问题,它是关于向后和向前的,条件是......
-
你想运行一个无限循环切换这样的东西 -> for(li = 1 ; li
-
使用选择器获取所有
:after所需的属性。然后用:before再次选择。 -
@Jonno_FTW 请给个 jsfiddle。
-
使用
.nextAll()和prevAll()。检查Demo Fiddle这是你想要的吗?
标签: jquery