如果我在列表中有十个项目,我怎样才能动态地将一个类(使用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)
一般解决方案是:
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如果你更愿意整理.