Вы должны включить немного больше функции imageClicked . Я предполагаю, что это начинается:
function imageClicked(element, row, col) {
и в вашем опубликованном коде:
same = false;
Предположительно, вы объявили то же самое ранее, чтобы сохранить его локальным.
var r = 0;
Нет необходимости инициализировать r здесь (т. Е. Присваивать ему значение), если вы делаете это в цикле.
tbl = document.getElementById("matrix");
for(r = 0; r < tbl.rows.length; r++) {
var _tempmg = tbl.rows[r].cells[col].childNodes[0].src;
if (!_tempmg) break;
В вашем html вы не присвоили значение атрибуту image src, поэтому я бы подумал, что на этом этапе вы назначите ноль или крестик в зависимости от того, кто на него нажал. Назначив соответствующее изображение, я бы выполнил следующую строку.
if (_img.src != _tempmg) break;
same = true;
Возможно, было бы яснее добавить условие к выражению for (...), например:
for(r = 0; r < tbl.rows.length && !same; r++) {
Теперь вместо перерыва вы можете использовать:
if (_img.src == _tempmg) same = true;
.
}
if (r == tbl.rows.length && same) {
alert(_img.src + "won");
return;
}
same = false;
Мне нужно увидеть больше функции imageClicked , чтобы понять, почему она не работает.