我想要做的是使用參數在每個按鈕上添加一個獨特的onclick
,這樣我就可以在使用函數參數點擊它們時識別每個按鈕。如何在循環中添加onclick事件時添加唯一參數?
function createProducts() {
for(var i = 0; i < products.length;i++) {
var li = document.createElement("li");
li.className = "products";
li.onclick = "purchase(" + i + ")";
li.innerHTML = products[i][0] + "<span class=\"price\"> Klikk/s: " + products[i][1] + " Pris: " + products[i][2] + "</span>";
document.getElementById("list").appendChild(li);
}
}
function purchase(id) {
alert(id);
}
我已經試過
li.onclick = purchase(i);
而且
li.onclick = "purchase(" + i + ")";
但所有這些工作。
謝謝,它的工作!時間來了解它爲什麼起作用了! – timzand
@timzand正如TJ所解釋的那樣,您將循環時間中的*索引*存儲到元素上名爲data屬性的屬性中。隨時隨地都可以隨時隨地閱讀。所以,在click事件函數中,您只需閱讀它。 – DontVoteMeDown
@timzand請記住標記爲已接受解決問題的答案。 – DontVoteMeDown