que estoy tratando de hacer un proyecto tictactoe en jQuery y estoy teniendo un problema importante ...
Las baldosas están en <td>
etiquetas y estoy tratando de haga que cuando el usuario haga clic en el mosaico, invoque la función "marcada".
Si ahora nos fijamos en la función "marcada", $(this)
es el nodo <td>
desde el que se llamó a la función.
Sin embargo, no estaba haciendo nada, así que revisé la consola y aparentemente $(this)
contenía el objeto Ventana DOM.
¿De todos modos puedo enviar el tipo correcto de $(this)
a la función "marcada"?
¡Gracias!
<script type="text/javascript">
var TURN_X = false;
var TURN_O = true;
var turn = false; // this is to see whos turn it is.
$(document).ready(function(){
var listCells = $.makeArray($("td"));
$("td").click(function(){marked(listCells)}); //THIS IS WHERE I HAVE PROBLEMS
return false;
});
function marked(arr)
{
console.log($(this)); // THIS CONSOLE LOG RETURNS "DOM Window"
$(this).addClass("marked");
if(turn == TURN_X)
{
this.innerHTML = "X";
turn = false;
}
else
this.innerHTML = "O";
var tileNum = $(this).attr("id");
}
¿Quieres pasar en toda la matriz (es decir, 'listCells') o simplemente la celda de tabla que ha hecho clic? - Si tan solo la td en la que hizo clic pudiera usar '$ (" td "). Haga clic en (función() {marcado ($ (esto))});' en su evento de clic ... – Greg