В настоящее время я пытаюсь перенести давно действующий проект моего любимого (Java-шахматное приложение) в Интернет с помощью HTML/CSS/JS, но я не очень разбираюсь в веб-разработке. Что я хочу сделать, это использовать имя класса моих квадратов (элементов), чтобы обозначить, какой цвет должен быть установлен css. Элементы все JS-сгенерированы, как показано в моем фрагменте кода, и я проверил, что имя класса каждого квадрата правильно задано. Однако CSS, похоже, не меняет цвет фона.Как использовать css для стилирования элемента, который имеет JS-сгенерированное имя класса?
Любые советы/указатели оценили :)
function generateBoardHTML() {
var chessBoard = document.getElementById('chessBoard');
for (var row = 0; row < 8; row++) {
var boardRow = chessBoard.insertRow(row);
for (var col = 0; col < 8; col++) {
var boardSquare = boardRow.insertCell(col);
boardSquare.id = '(' + row + ',' + col + ')';
boardSquare.class = (row + col) % 2 == 0 ? 'whiteSquare' : 'blackSquare';
//boardSquare.innerHTML = boardSquare.class;
}
}
}
generateBoardHTML();
td {
border: 1px solid black;
width: 80px;
height: 80px;
}
.whiteSquare {
background-color: white;
}
.blackSquare {
background-color: black;
}
<table id='chessBoard'>
<tbody></tbody>
</table>
'className' не' CSS' собственности .. – Rayon
@Rayon Никогда не сказал, что это было. Тем не менее, 'class' не может использоваться как имя свойства в ES3, поэтому' class' был сопоставлен с 'className' при доступе к свойству через JavaScript, как поясняет ссылка. –
Это странно. Спасибо :) –