1
我正在創建Connect 4遊戲並創建了一個td元素表,其中每個td都有一個行和col值,即(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);
}
我也有,單擊時(顏色改變每一次點擊,因爲它是2個玩家)一個CSS類分配給每個TD碼。然後,我想移動到右側(右側,左側,頂部和底部)的td,然後檢查該td是否具有相似的顏色等級,檢查者需要轉到右邊的4個td之後發現是否有一個類似顏色的td序列(即一行中的3個紅色tds不能實現任何東西,但是4)我想使用類似於我已有的代碼的東西,因爲我通常可以理解它。 這是,p.s.我知道IF語句是完全不正確的順序,我用一個for循環(X = 1; X < 4; X ++):
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");
}
希望你喜歡的if語句可怕的積累,我相信它是純粹挫敗的結果。
參見['的jQuery的.next()'](HTTP: //api.jquery.com/next/) –
'if(x = 4)'中的等號應該是'=='(或'===')。但我不明白你遇到什麼麻煩。是用jQuery選擇某些單元格嗎?例如,您可以使用像'td [data-row = 1] [data-col = 2]'這樣的選擇器。 – bfavaretto
只是一個提示,你並不需要data-row和data-col,你可以直接通過在DOM元素tr/td中使用rowIndex和cellIndex來訪問行列索引,或者如果你想做它使用jQuery使用$('tr').index()和$('td').index(),儘管這樣做效率較低。 –