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

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

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

$('#resultsBox li:first-child').addClass('aaaa'); 

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

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

 

应该成为:

 
  • // Index 0
  • // Index 1
  • // Index 2

使用:第一选择器:

 $('#resultsBox li:first').addClass('aaaa'); 

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

 $('ul li').each(function(i) { if ( i === 2 ) { $(this).addClass('aaaa'); } }); 

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

 $('#resultsBox li').eq(2).addClass('aaaa'); 

实现这一目标的最简洁方法是:

 $('#resultsBox li').eq(2).addClass('selected'); 

有关.eq方法的文档,请访问: http ://api.jquery.com/eq/

使用:first selector或:nth-​​child选择器。 我提到了:nth-​​child选择器,以防你想要将类添加到第一个以外的任何东西。 如果你愿意,你也可以使用普通CSS中的nth-child而不使用javascript

 $("#resultBox li:nth-child(1)").addClass('aaa'); 

eq selector

 $('#resultsBox li:eq(2)').addClass('aaaa'); 

eq function

 $('#resultsBox li').eq(2).addClass('aaaa');