当我在我的EQ后面加上一个数字时,下面的代码工作得很好。
for (i=0; i<$("button.mark").length ; i++){
$("button.mark:eq(0)").on("click", e => {
e.preventDefault()
e.stopPropagation()
$("div.popup:eq(0)").show()
if ($("div.popup:eq(0)").css("display") === "block") {
$(window).on("click", () => {
$("div.popup:eq(0)").hide()
})
}
})
}
但当我试着把它放入for时,它就停止工作了。你知道为什么吗?
for (i=0; i<$("button.mark").length ; i++){
$("button.mark:eq(i)").on("click", e => {
e.preventDefault()
e.stopPropagation()
$("div.popup:eq(i)").show()
if ($("div.popup:eq(i)").css("display") === "block") {
$(window).on("click", () => {
$("div.popup:eq(i)").hide()
})
}
})
}
感谢斯瓦蒂和查理,这就是你的答案
for (let i=0; i<$("button.mark").length ; i++){
$("button.mark:eq("+i+")").on("click", e => {
e.preventDefault()
e.stopPropagation()
$("div.popup:eq("+i+")").show()
if ($("div.popup:eq("+i+")").css("display") === "block") {
$(window).on("click", () => {
$("div.popup:eq("+i+")").hide()
})
}
})
}
我在for循环条件中添加了(“+I+”)和“let”!