这是一个代码,用于查找1月1日星期一的年份
for (var i = 2014; i < 2050; i++) {
var d = new Date(i, 1, 1).getDay();
if (d === 1) {
console.log("The year "+ i +" Jan the 1st is Monday");
}
}
我有一个字符串,其中每四个数字代表一年。 有没有办法将此字符串拆分为多个字符串并将每个字符串分配给变量? 这样:
document.getElementById('congrats').innerHTML = "The year "+ i +" Jan the 1st is Monday"
它在控制台中完美运行,但如果我尝试:
select
puser_id,
puser_name,
plast_login_time,
case plicense_level
when '1' then 'Потребитель'
else 'Автор'
end as plicense_level
from dbo.PPOM_USER
order by plast_login_time
仅显示最后一个结果。不是每个人。
答案 0 :(得分:2)
document.getElementById('congrats').innerHTML = "The year "+ i +" Jan the 1st is Monday"
你的问题是你在每个循环上替换innerHTML值,所以很明显只会显示最后的结果,因为它没有被替换。
document.getElementById('congrats').innerHTML += "The year "+ i +" Jan the 1st is Monday\n"
你可以这样做来连接innerHTML,假设使用的HTML元素是pre tag。
答案 1 :(得分:1)
document.getElementById('congrats').innerHTML = "The year "+ i +" Jan the 1st is Monday"
这只显示最后的结果,因为在for循环的每次迭代中,innerHTML
的内容都被替换。
更好的解决方案是使用insertAdjacentHTML
而不是innerHTML
。
与innerHTML
不同,insertAdjacentHTML
每次都不像innerHTML
那样重新分析整个HTML。这使insertAdjacentHTML
比innerHTML
快得多:
for (var i = 2014; i < 2050; i++) {
var d = new Date(i, 0, 1).getDay();
if (d === 1) {
document.body.insertAdjacentHTML('beforeend', "The year "+ i +" Jan the 1st is Monday<br>")
}
}
&#13;
答案 2 :(得分:0)
document.getElementById(&#39;恭喜&#39;)。innerHTML =&#34;年份&#34; + i +&#34; 1月1日是星期一&#34;
表示它会覆盖旧代码,因此您可以使用以下行
代替此行document.getElementById(&#39;恭喜&#39;)。innerHTML + =&#34;年份&#34; + i +&#34; 1月1日是星期一&#34;