Я создаю игру Connect 4 и создал таблицу элементов td, где каждый td имеет значение строки и столбца, то есть (1,2). здесь:Как перейти к следующему td и проверить класс Css?
for(var i = 0; i < rows; i++) {
$('table').append('<tr></tr>');
for(var j = 0; j < cols; j++) {
$('table').find('tr').eq(i).append('<td></td>');
$('table').find('tr').eq(i).find('td').eq(j).attr('data-row', i).attr('data-col', j);
}
У меня также есть код, который присваивает класс CSS каждый тд при нажатии (цвет изменяется каждый щелчок, как для 2-х игроков). Затем я хотел бы перейти к td с правой стороны (справа, слева, сверху и снизу в конце), а затем проверить, имеет ли тот td аналогичный класс цвета, контролер должен перейти к 4 следующим td's вправо, чтобы найдите, есть ли последовательность похожих цветов td (т. е. 3 красных tds в строке ничего не достигают, однако 4 делает) Я хотел бы использовать что-то похожее на код, который у меня уже есть, потому что я его вообще понимаю. Вот он, p.s. Я знаю последовательность IF утверждения совершенно неправильно, я использовал для цикла (х = 1, х < 4; х ++):
var win = false;
if(win == false) {
if($(this).hasClass('tdred')) {
var colindex = parseInt($(this).attr('data-col')) + 1;
var chosen = $('table tr').eq(colindex).find('td');
//^Moves to next td right of
//begin check if has class tdred
if($(chosen).hasClass('tdred')) {
x++;
alert(data - col + "is red");
var colindex = parseInt($(this).attr('data-col')) + 1;
if(x = 4) {
win == true;
}
if(x < 4)
}
} else {
alert("not red");
}
}
} else if(win == true)
Alert("You win");
}
Надеюсь, вам понравится ужасное накопление, если заявления, я верю в это является результатом чистого разочарования.
См [ 'JQuery .next()'] (HTTP: //api.jquery.com/next/) –
Значения в 'if (x = 4)' должны быть '==' (или '==='). Но я не понимаю, с чем вы столкнулись. Выбирает некоторые ячейки с помощью jQuery? Например, вы можете использовать селектор типа 'td [data-row = 1] [data-col = 2]'. – bfavaretto
Просто подсказка, вам действительно не нужны строки данных и данных, вы можете получить доступ к индексу строки и столбца напрямую, используя: rowIndex и cellIndex в DOM Elements tr/td, или в случае, если вы хотите сделать он с jQuery использует $ ('tr'). index() и $ ('td'). index(), хотя это будет менее эффективно. –