我有这样的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
<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');