是否可以使用jquery或javascript将自动增量类添加到列表中

M.K*_*sar 4 javascript css jquery

是否可以将自动增量类添加到列表中

<ul id="list">
 <li>Element 1</li>
 <li>Element 2</li>
 <li>Element 3</li>
 <li>Element 4</li>
 <li>Element 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

现在,如果我将鼠标悬停在Element 3上,请将自动增量类添加到li下面的示例...

<ul id="list">
 <li class="left2">Element 1</li>
 <li class="left1">Element 2</li>
 <li>Element 3</li>
 <li class="right1">Element 4</li>
 <li class="right2">Element 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

再次,如果将鼠标悬停在元素1上,则将自动增量类添加到li下面的示例...

<ul id="list">
 <li>Element 1</li>
 <li class="right1">Element 2</li>
 <li class="right2">Element 3</li>
 <li class="right3">Element 4</li>
 <li class="right4">Element 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

抱歉我的英语不好.谢谢.

gur*_*dio 8

$('li').hover(function() {
$('li').removeClass();
  var next = $(this).nextAll();
  next.each(function(i, v) {
    $(this).addClass('right' + (i+1))

  })

  var prev = $(this).prevAll();
  prev.each(function(i, v) {
    $(this).addClass('left' + (i+1))

  })

})
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="list">
  <li>Element 1</li>
  <li>Element 2</li>
  <li>Element 3</li>
  <li>Element 4</li>
  <li>Element 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用.prevAll().nextAll()

描述:获取匹配元素集中每个元素的所有前面的兄弟节点,可选择由选择器过滤.

描述:获取匹配元素集中每个元素的所有后续兄弟,可选择由选择器过滤.

然后迭代li并分配索引.确保删除li类,以便它不会叠加