用零填充时无法使 JavaScript 循环工作
Posted
技术标签:
【中文标题】用零填充时无法使 JavaScript 循环工作【英文标题】:Can't get JavaScript loop to work when padded with zeroes 【发布时间】:2013-02-25 01:57:54 【问题描述】:尝试将一些 html 写入 001、002、003 样式格式的 div,但无法正常工作。
代码如下:
function loadpics(x, url)
var txt, i;
txt = "";
for(i = 1; i < x; i++)
txt = txt + String.format("%03d", i) + "<br/>";
document.getElementById("myDiv").innerHTML = txt;
当我希望它能够工作时,我打算像这样将一些图像加载到 div 中:
function loadpics(x, url)
var txt, i;
txt = "";
for(i = 1; i < x; i++)
txt = txt + "<img src=\"" + url + "/t/" + String.format("%03d", i) + ".jpg\"></img><br/>";
document.getElementById("myDiv").innerHTML = txt;
但无法使字符串格式正常工作。不完全确定我做错了什么。
如果有人能直截了当地告诉我,将不胜感激。
【问题讨论】:
您是否遇到任何错误? 什么是 String.format? javascript 不是 Java。 您是否要为数字添加填充? 感谢回复,很快就整理好了,谢谢=) 【参考方案1】:将此添加到您的页面
function pad(number, length)
var str = '' + number;
while (str.length < length)
str = '0' + str;
return str;
并用这个替换txt=txt...
txt += "<img src='" + url + "/t/" + pad(i,3) + ".jpg'></img><br/>";
也可以看看this topic
【讨论】:
【参考方案2】:尝试使用pad()
而不是String.format()
。
function pad(number, length)
var str = '' + number;
while (str.length < length)
str = '0' + str;
return str;
【讨论】:
以上是关于用零填充时无法使 JavaScript 循环工作的主要内容,如果未能解决你的问题,请参考以下文章