本文介绍了如何使用jQuery将活动类应用于第一个列表项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<div class="accordion">
<ul class="navigation">
    <li>Lorem</li>
    <li>Ipsum</li>
    <li>Donor</li>
</ul>
<ul class="navigation">
    <li>Test</li>
    <li>Demo</li>
    <li>Donor</li>
</ul>
</div>

我们如何才能将使用活动"类的类仅应用于第一个"li"(即Lorem),而不是使用jQuery对"ul"下的所有第一个"li"类应用.我想得到的输出为

How can we apply a class which is 'active' to first 'li' (ie;Lorem) only, not for all first 'li' under 'ul' using jquery.I would like to get output as

<div class="accordion">
<ul class="navigation">
    <li class="active">Lorem</li>
    <li>Ipsum</li>
    <li>Donor</li>
</ul>
<ul class="navigation">
    <li>Test</li>
    <li>Demo</li>
    <li>Donor</li>
</ul>
</div>

推荐答案

您可以使用 :first (与 :first-child 相对,这将获得第一个- c2>)和 .addClass() 像这样:

You can use :first (as opposed to :first-child which would get the first per-<ul>), and .addClass() like this:

$(".accordion li:first").addClass("active");

.first() ,它是 .eq(0) .slice(0,1) 甚至是这样:

Or .first(), which is an alias for .eq(0) or .slice(0,1) even, like this:

$(".accordion li").first().addClass("active");
//or
$(".accordion li").eq(0).addClass("active");
//or
$(".accordion li:eq(0)").addClass("active");
//or
$(".accordion li").slice(0,1).addClass("active");

有几种解决方法...尽管我更喜欢 :first .first() 为清楚起见.

There are a few ways to go about it...though I prefer :first or .first() for clarity.

这篇关于如何使用jQuery将活动类应用于第一个列表项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 22:48