我試圖修復使用'forEach'構建的功能,它與應該過時(IE)的Web瀏覽器不兼容。我用Javascript做了這個。我試圖將其轉換爲for循環,但不成功。如果有人可以通過擺脫foreach並使用for循環來幫助我轉換這兩個函數,我將不勝感激任何幫助。切換JavaScript功能從foreach到for循環
這是他們引用的兩個數組。
var yr1 = 2011, yr2 = 2012, yr3 = 2013, yr4 = 2014;
var years = [yr1, yr2, yr3, yr4];
//array with months and associated days
var calendar = [
["January", 31],["February", 28],["March", 31],["April", 30],["May", 31],["June", 30],["July", 31],["August", 31],["September", 30],
["October", 31],["November", 30],["December", 31]];
這裏是需要從的forEach改爲for循環的功能。
//this creates the month values
function generateMonths() {
var df = document.createDocumentFragment();
calendar.forEach(function(info, i) {
df.appendChild(createOption(info[0], i));
});
//clears past months
clearChildren(sel_month);
//appends new months onto variable df
sel_month.appendChild(df);
}
//this creates the year values
function generateYears() {
var df = document.createDocumentFragment();
years.forEach(function(i) {
df.appendChild(createYearOption(i));
});
//clears past months
clearChildren(sel_year);
//appends new months onto variable df
sel_year.appendChild(df);
}
這裏是我的失敗嘗試來證明我嘗試過。
//this creates the month values
function generateMonths() {
var df = document.createDocumentFragment();
for (var w = 0; w < 12; w++) {
(function(calendar, w) {
df.appendChild(createOption(calendar[0], w));
});
}
//calendar.forEach(function(info, i) {
//df.appendChild(createOption(info[0], i));
};
//clears past months
clearChildren(sel_month);
//appends new months onto variable df
sel_month.appendChild(df);
}
//this creates the year values
function generateYears() {
var df = document.createDocumentFragment();
for (var w = 0; w < 12; w++) {
(function(years) {
df.appendChild(createOption(years[0]));
});
}
//years.forEach(function(i) {
//df.appendChild(createYearOption(i));
};
//clears past months
clearChildren(sel_year);
//appends new months onto variable df
sel_year.appendChild(df);
}
那麼另一個呢..我有麻煩了。 – 2012-08-16 12:44:33
沒關係..我知道了..謝謝! – 2012-08-16 12:47:55