0

如何将多个类添加到 ul 列表?我不想将它添加到每个 li 项目中,而只是其中的一些项目。

编辑:

我想用 jQuery 添加类。像这样:

<ul>
    <li>something1</li>
    <li>something2</li>
    <li>something3</li>
    <li>something4</li>
    <li>something5</li>
</ul>

现在我想在第二个(第 3、第 4 和第 5 个 li 元素)之后的每个 li 添加类。我知道如何添加课程,但我怎样才能让它在每个 li 中重复。那真的是我的问题。

4

4 回答 4

1

有几种方法可以访问特定的元素索引。

选择:eq()器可以访问单个索引:

$('li:eq(1)')

http://api.jquery.com/eq-selector/

.nextAll()函数返回匹配元素集中每个元素的所有以下兄弟:

$('li:eq(2)').nextAll();

http://api.jquery.com/nextAll/

工作方式相同,.prevAll()但返回以前的兄弟姐妹:

$('li:eq(2)').prevAll();

http://api.jquery.com/prevAll/

于 2010-02-16T09:08:17.007 回答
1

li好吧,要为a中的每个类添加 3 个类ul,您可以:

$("#myUl > li").addClass("class1 class2 class3");

由于您没有为li要获取附加类的元素指定任何标准,因此我不得不猜测:

$("#myUl > li:even").addClass("class1 class2 class3");

这会将三个类彼此相加li(更准确地说,是零索引数组中的偶数元素)。

祝你好运。

于 2010-02-16T08:28:48.570 回答
1

您的问题不够详细,但总的来说,您需要根据需要在特定的 li 元素上设置类。

例如:

<ul>
<li class="first winter thirty-one">January</li>
<li class="winter">February</li>
<li class="spring thirty-one">March</li>
<li class="spring">April</li>
<li class="spring thirty-one">May</li>
<li class="summer">June</li>
<li class="summer schools-out thirty-one">July</li>
<li class="summer schools-out thirty-one">August</li>
<li class="fall">September</li>
<li class="fall thirty-one">October</li>
<li class="fall">November</li>
<li class="last winter thirty-one">December</li>
</ul>
于 2010-02-16T08:31:25.430 回答
0

您可以使用.filter()方法来过滤您的选择。

$('li').filter(':nth-child(n+3)').addClass('className');

现在,任何符合这个标准的东西,都将获得类属性。在您的示例中,第 3、第 4 和第 5 li 将收到它。

于 2012-12-28T13:12:04.063 回答