我有一些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
答案 0 :(得分:1)
如果i+1
小于10,则只需添加零...
在.text()
括号内,使用ternary运算符。结构是:
(条件)? true:false
指定条件的位置...以及true
和false
的值
;)
$('.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)
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;
是另一个简单的解决方案。