javascript - jQuery中从中间元素开始的数字元素

标签 javascript jquery html css

<分区>

我有奇数个元素。

<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>

我想知道如何在 jQuery 中给它们一个带编号的类,从中间元素开始计数,如下所示:

<div class="line no2"></div>
<div class="line no1"></div>
<div class="line no0"></div>
<div class="line no1"></div>
<div class="line no2"></div>

有人吗?

编辑:

之前,我会检查元素的数量。如果数量是偶数,我将添加一个附加元素以获得奇数个元素。

我想获得一个圆形的文字形状,like this example (see curve) .行数并不重要,因为中间一行 <div class="line no0"></div>将是圆的垂直中心。

最佳答案

试试这个:

var middle=Math.ceil($("div").length/2);
var divs=$("div.line");
divs.each(function (){
    $(this).addClass('no'+Math.abs(middle-(divs.index($(this))+1)));
});

http://jsbin.com/IKiGexIr/5/edit

较短的版本:(PSL)

var middle=Math.ceil($("div").length/2),divs=$("div.line");
    divs.addClass(function (i){ return 'no'+ Math.abs(middle-(i+1)); });

enter image description here

关于javascript - jQuery中从中间元素开始的数字元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20807220/

相关文章:

javascript - 使用 typescript 和 jquery 突出显示 div 或 span 内的文本

javascript - jQuery/JavaScript 用括号外的逗号分割字符串

javascript - jQuery 范围 slider 最大 handle 被卡住

html - 如何将 CSS 形状中的文本居中

javascript - 如何使用 html 和 javascript 创建复制按钮?

javascript - 将 javascript 生成的图像复制到剪贴板

Javascript 关闭重新启用 css

javascript - 如何为 span 元素添加/删除类 onclick

html - div在html页面上的显示方向

javascript - 找不到选择器时如何访问此元素