我有一个HTML表格,代表棋盘游戏应用中的主板。它有任意数量的行和列,'td'元素代表游戏方块。
我正在尝试在随机位置填充少量'class = hasAtoms'的'class = play'棋盘方块。 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');
}
答案 0 :(得分:0)
问题出在$(this)选择器上。您需要声明它或传入参数。假设你想要一个随机的" .play"孩子在"#board"元素容器,我会试试这个:
function placeAtoms(numberOfAtoms) {
var rnd, len;
do {
len = $('#board .play:not(.hasAtom)').length;
rnd = Math.floor((Math.random() * len) + 1);
$($("#board .play").eq(rnd)).addClass('hasAtom');
numberOfAtoms--;
} while (numberOfAtoms > 0);
console.log($('#board .hasAtom').length + ' squares have atoms');
}