在'for'循环中向href添加变量

时间:2012-11-27 16:26:08

标签: javascript

以下是代码:

for (i = 0; i < 8; i++) {
    var meun = document.createElement("div");

    meun.setAttribute('id', i);
    meun.setAttribute("style", "width:70px; height:70px; background:url(archive/" + i + ".jpg); background-size: 70px 70px; float:left; margin-top:10px; opacity:1");
    document.body.appendChild(frame);
    document.getElementById("frame").appendChild(meun);

    meun.addEventListener('click', function () {
        window.location.href = "i+'.html'"
    }, false);
}

我遇到的问题是addEventListener:如何将变量i传递到href?我想这是语法问题。

2 个答案:

答案 0 :(得分:3)

不仅是语法问题,还需要一个闭包:

(function(x) {
    meun.addEventListener('click', function(){window.location.href = x + '.html'}, false);
})(i);

答案 1 :(得分:2)

如果你想使用变量i,不要把它放在引号中,这意味着字母“i”:

meun.addEventListener('click', function() {
    window.location.href = i + '.html';
}, false);