我尝试使用html onclick发送onclick参数
for (var i = 0; i < 2; i++) {
if (i == 1) {
document.write(" <tr class='noBorder' onclick='foo(i)' >");
}
if (i == 0) {
document.write(" <tr class='noBorder' onclick='foo(i)' >");
}
}
然而,每当我点击一行时,我都会回到onclick = foo(2)
我一直在四处寻找并发现同样的问题
Javascript - Dynamically assign onclick event in the loop
我想知道是否可以使用document.write执行此操作?
答案 0 :(得分:0)
您只需要从Javascript字符串中删除i
:
for (var i = 0; i < 2; i++) {
if (i == 1) {
document.write(" <tr class='noBorder' onclick='foo(" + i + ")' >");
}
if (i == 0) {
document.write(" <tr class='noBorder' onclick='foo(" + i + ")' >");
}
}
2注释
<div style="..."></div>
,而不是<div style='...'></div>
)foo(2)
,因为这是i
的最后一个值。您的onclick可以使用,但是会获取i
的最后一个值,而不是在呈现HTML时对i
的值进行硬编码。答案 1 :(得分:0)
document.write语句
因此,您不希望将document.write放入onclick
如果您正在尝试修改已加载的网页,则必须使用div标记并使用以下内容:
document.getElementById("name").innerHTML = "bob";