我有一個HTML表格,代表棋盤遊戲應用中的棋盤。它具有任意數量的行和列,'td'元素代表遊戲方塊。jquery addClass語法不正確?
我正試圖在隨機位置填充一些'class = play'板塊,並且有少量'class = hasAtoms'。 Console.log命令顯示初始選擇器返回合理數量的對象,'rnd'是一個有效的隨機數,但最終的console.log未能檢測到任何'class = hasAtom'對象 - 有什麼建議嗎?
function placeAtoms(numberOfAtoms) {
var rnd, len;
do {
len = $('#board .play:not(.hasAtom)').length;
rnd = Math.floor((Math.random() * len) + 1);
$($(this).get(rnd)).addClass('hasAtom');
numberOfAtoms--;
} while (numberOfAtoms > 0);
console.log($('#board .play .hasAtom').length + ' squares have atoms');
}
剛一說明,但'$($(本)獲得(RND))addClass。 ()'可以是'$(this).eq(rnd).addClass()' – 2014-10-27 17:15:32
'this'指的是什麼?你怎麼叫'placeAtoms'?另外,在第一個選擇器中,您正在尋找沒有class .hasAtom('.play:not(.hasAtom)')的'.play'元素。循環結束後,您需要查找'.AsaAtom'元素,它們是'.play'元素('.play .hasAtom')的*後代*。第二個可能應該是'.play.hasAtom'。 – 2014-10-27 17:16:07
你能否提供HTML?看來問題在於$(this)選擇器 – CodeGodie 2014-10-27 17:17:01