当前位置 : 主页 > 网页制作 > JQuery >

jquery – 在子集中首先选择

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有这样的DOM; li/lili class="this"/lili class="this"/lili/lili/lili class="this"/lili class="this"/lili class="this"/lili/lili class="this"/lili/lili/li 我只想在连续的每个系列中选择第一个li. 因此,如果我将.addCla
我有这样的DOM;

<li></li>
<li class="this"></li>
<li class="this"></li>
<li></li>
<li></li>
<li class="this"></li>
<li class="this"></li>
<li class="this"></li>
<li></li>
<li class="this"></li>
<li></li>
<li></li>

我只想在连续的每个系列中选择第一个li.

因此,如果我将.addClass(“that”)应用于此选择器的对象,则生成的DOM将如此;

<li></li>
<li class="this that"></li>
<li class="this"></li>
<li></li>
<li></li>
<li class="this that"></li>
<li class="this"></li>
<li class="this"></li>
<li></li>
<li class="this that"></li>
<li></li>
<li></li>

实现这种效果的最有效方法是什么?我无法添加或删除DOM中的任何元素(因此,例如将连续系列包装在自己的包装器div中是不可能的).

非常感谢提前!

这会有用吗?

$("li:not(.this) + .this").addClass('that');

编辑:如果第一个项目是这个类,那将无法工作,你需要这个(如果它适用):

$("li:not(.this) + .this, .this:first-of-type").addClass('that');
网友评论