0

我在下面有这段代码:

for (var index in mv.exifImages) {
        var p = document.createElement("p");
        var oText = document.createTextNode("link" + index);
        p.appendChild(oText);
        var info = mv.exifImages[index];
        p.onclick = function() {
            mv.openNewWindow(info);
        };
        ele.appendChild(p);
}

我想创建段落元素,当我单击它们时,会打开一个包含正确数组内容的新窗口。但我能够建立不同的链接。我所有的段落都会打开一个新窗口,其中包含最后一个索引处的数组内容。这有什么诀窍吗?

4

2 回答 2

2

我认为这应该有效:

for (var index in mv.exifImages) {
        var p = document.createElement("p");
        var oText = document.createTextNode("link" + index);
        p.setAttribute("indexAttr",index);
        p.appendChild(oText);
        p.onclick = function() {
            mv.openNewWindow(mv.exifImages[this.getAttribute("indexAttr")]);
        };
        ele.appendChild(p);
}
于 2013-02-20T12:10:49.137 回答
0

以下作品...

for (var index in mv.exifImages) {
        var p = document.createElement("p");
        var oText = document.createTextNode("link" + index);
        p.appendChild(oText);
        var info = mv.exifImages[index];
        p.onclick = openNew(info);
        ele.appendChild(p);
}

function openNew(a) {
    return function() {
        mv.openNewWindow(a);
    }
}
于 2013-02-20T12:15:20.560 回答