我正在运行一个函数,它用一周中的几天填充网页上的几个段落标记。此函数需要一个天数组,该数组是根据当天填充的(即,如果今天是星期四,则按顺序获取接下来的7天)。
我的问题是,由于某些原因,我无法填充这些标签。我已经进行了检查,以确保数组正在被填充,并且列表正在被迭代。虽然这两个都是真的,但标记的内部HTML都没有改变。
HTML:
<p class="mb-1" id="forecastDay1" runat="server">Day</p>
<p class="mb-1" id="forecastDay2" runat="server">Day</p>
JavaScript函数:
function populatePage(arry) {
var i;
for (i = 0; i < arry.length - 1; i++) {
var id = "forecastDay" + i.toString();
document.getElementById(id).innerHTML = arry[i].toString();
}
}
我也尝试过这样做:
document.getElementById("forecastDay" + i.toString()).innerHTML = arry[i].toString();
发布于 2018-08-24 06:33:09
您不需要在JavaScript中使用toString
。
此外,数组从0
开始,而元素从1
开始。你必须补偿这种差异。
function populatePage(arry) {
var i;
for (i = 0; i < arry.length; i++) {
var id = "forecastDay" + (i + 1);
document.getElementById(id).innerHTML = arry[i];
}
}
// Test it
populatePage(["Day 1", "Day 2"]);
<p class="mb-1" id="forecastDay1" runat="server">Day</p>
<p class="mb-1" id="forecastDay2" runat="server">Day</p>
https://stackoverflow.com/questions/51995061
复制相似问题