JQuery将增量数添加到前面带0的div

时间:2018-01-07 18:58:01

标签: jquery

我有一些CMS生成的项目,我可以计算并在div

中显示项目的编号

到目前为止我正在使用它:

$('.course-number').each((i, e) => $(e).text(i+1));

这正确地按预期方式将1,2,3,4等输出到div.course-number

但出于审美原因,我希望数字低于10才能有前一个零 - 所以输出为01,02,03,04等然后10,11,12等没有前面的零。

有人可以帮助我实现这个目标吗?

更新:>建议的duplicate没有提供满足每个需求的完整答案:(1)计算每个元素(2)输出数字作为元素内的文本(3) )添加小于10的前一个零IF

2 个答案:

答案 0 :(得分:1)

如果i+1小于10,则只需添加零...

.text()括号内,使用ternary运算符。结构是:

(条件)? true:false

指定条件的位置...以及truefalse的值 ;)

$('.course-number').each((i, e) => $(e).text( ((i+1)<10) ? "0"+(i+1) : i+1  ));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>
<div class="course-number"></div>

答案 1 :(得分:1)

&#13;
&#13;
const fill = function(courseNumber) { return ('0' + courseNumber).substr(Math.max(courseNumber.toString().length, 2)*(-1)) }

console.log(fill(0))

console.log(fill(2))

console.log(fill(10))

console.log(fill(623))

console.log(fill(199999))
&#13;
&#13;
&#13;

是另一个简单的解决方案。