将类添加到列表中的前半部分项目

cwd*_*cwd 2 jquery

如果我在列表中有十个项目,我怎样才能动态地将一个类(使用jQuery)添加到它们的前半部分?

输入:

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul> 
Run Code Online (Sandbox Code Playgroud)

期望的输出:

<ul>
    <li class="first-half">1</li>
    <li class="first-half">2</li>
    <li class="first-half">3</li>
    <li class="first-half">4</li>
    <li class="first-half">5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

kar*_*m79 5

一般解决方案是:

var $lis = $("ul li");
$lis.slice(0, Math.floor($lis.length/2)).addClass("first-half");
Run Code Online (Sandbox Code Playgroud)

如果你确定你将永远有一个偶数,你可以省略Math.floor,并记住,Math.ceil如果你更愿意整理.

你可以在这里试试.