Получить список классов CSS в StyleSheet с помощью javascript/jQuery
Возможный дубликат:
Как определить, существует ли класс css с Javascript?
Есть ли способ проверить, есть ли класс с именем 'some-class-name' в css?
Например, у меня есть:
<style type="text/css">
.box {
position: absolute;
left: 150%;
}
</style>
Мое намерение состоит в том, чтобы случайным образом назначить класс div для определенного события:
var classList = []; //Need to populate this array
$('#updateClass').on('click', function() {
$('#resultDiv').attr('class',classList[Math.floor((Math.random()*classList.length)+1)]);
});
Можно ли проверить JS/jQuery, существует ли класс с именем 'box' в таблице стилей?
Я ссылался на Этот вопрос. Как вы можете определить, существует ли класс css с Javascript?. Но ответ не помог me , потому что ссылка в ответе больше не существует.
Спасибо.
Ответы
Ответ 1
Как упоминалось выше (Как вы можете определить, существует ли класс css с Javascript?), вы можете сканировать полный CSS для запрошенного класса или добавить запрошенный класс для элемента и проверить, применимы ли к нему атрибуты класса. Например:
document.getElementById('yourTestElementID').className=newClass;
if(document.getElementById('yourTestElementID').style.position === 'thevalue' ) {
// class exists....
}
Ответ 2
Ваш случайный алгоритм:
Math.floor((Math.random()*classList.length)+1)
будет генерировать случайное число из определенного диапазона или более обычно от 1 до классаList.length.
Вам просто нужно быть уверенным, что имена классов, которые вы собираетесь использовать и будут заполнены в массиве, будут существовать.