OK。在下面的代码中。我试图用单引号传递参数图像[i],以便onclick可以工作,但是我无法通过应用来执行此操作(使用单引号传递参数)以下逻辑。任何人都可以在这里找到遗漏的东西。
for (i=0;i<images.length;i++) {
document.write("<img onclick='currentimage('+images[1]+')' class='photo' src='" + images[i] + "' width='160' height='120'/>");
}
答案 0 :(得分:1)
在尝试连接其他内容之前,您必须结束一个字符串文字。
您也无法在不转义的情况下嵌套不同的报价类型。
document.write("<img onclick='currentimage("" + images[1] + "")' class='photo' src='" + images[i] + "' width='160' height='120'/>");
...但请帮自己一个忙。不要尝试在JavaScript中嵌入JavaScript。这会让你头疼。
使用DOM代替。在你的时候使用语义标记。
var parent = document.getElementById('someContainer');
for (i=0;i<images.length;i++) {
parent.appendChild(makeButton(images[i]);
}
function makeButton(image) {
var button_element = document.createElement("button");
var image_element = document.createElement("img");
button_element.appendChild(image_element);
image_element.src = image;
image_element.className = "photo";
image_element.width = 160;
image_element.height = 120;
button_element.addEventListener('click', function (event) {
currentimage(image);
});
return button_element;
}
它更长,但更容易看到正在发生的事情并进行调试。