Ich mache ein Tic-Tac-Toe-Spiel. Ich würde gerne jedem einzelnen div ein individuelles onclick -Ereignis hinzufügen, so dass ich entweder ein "X" oder ein "O" hinzufügen kann, je nachdem, auf welches div ich klicke. "O" wird später hinzugefügt.Add onclick Ereignis zu einzelnen divs in Schleife
JavaScript:
function createDivs() {
for (i = 0; i < 9; i++) {
var d = document.createElement("DIV");
document.body.appendChild(d);
//Stuck here -borrowed some of this from a similar topic-
d.onclick = function() {
return function() {
var p = document.createElement("P");
var x = document.createTextNode("X");
p.appendChild(x);
d.appendChild(p);
}
}(i);
//-------------------------------------------------
var ii = document.createAttribute("id");
ii.value = "D" + i;
d.setAttributeNode(ii);
var z = "D" + i;
if (i == 3 || i == 6) {
document.getElementById(z).style.clear = "left";
}
}
}
html: <body onload="createDivs()">
Das schätzen Ihre Zeit gearbeitet! Entschuldigung, ich habe mein CSS ausgelassen. Ich weiß ehrlich nicht, was das (d) nach der Funktion macht. – HYUTS
@HYUTS - Ich habe es aktualisiert .. Ich bin froh, dass es Mate geholfen hat! _Happy Coding_ – Rayon
Kannst du nicht 'this' in der Funktion verwenden, um auf das Ziel des Ereignisses zu verweisen? – Barmar