如何使用jQuery向第一个孩子添加课程?

lis*_*aro 13 javascript jquery

如何在具有特定索引的容器上添加类元素?

我正在尝试这个应该影响第一个元素(无论如何都不起作用)

$('#resultsBox li:first-child').addClass('aaaa');
Run Code Online (Sandbox Code Playgroud)

但我希望能够更改其索引容器中的任何元素的类.

EG如果我想修改index = 2的元素.

<div id="resultsBox">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

应该成为:

<div id="resultsBox">
<ul>
<li></li> // Index 0
<li></li> // Index 1
<li class="selected"></li> // Index 2
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

Bar*_*din 30

使用:第一选择器:

$('#resultsBox li:first').addClass('aaaa');
Run Code Online (Sandbox Code Playgroud)

对于第三个元素选择,您可以使用each()方法: 这是jsFiddle.

$('ul li').each(function(i) {
    if ( i === 2 ) {
       $(this).addClass('aaaa');
    }
});
Run Code Online (Sandbox Code Playgroud)

或者你可以用像Jamiec和MrThys 这样的eq方法做到这一点:但是当事情变得复杂时,每种方法都会非常有用.

$('#resultsBox li').eq(2).addClass('aaaa');
Run Code Online (Sandbox Code Playgroud)


Thy*_*hys 6

实现此目的的最干净的方法是:

$('#resultsBox li').eq(2).addClass('selected');
Run Code Online (Sandbox Code Playgroud)

有关.eq方法的文档,可以在这里找到:http ://api.jquery.com/eq/