Подтвердить что ты не робот

Получить список классов 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 , потому что ссылка в ответе больше не существует.

Спасибо.

4b9b3361

Ответ 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.

Вам просто нужно быть уверенным, что имена классов, которые вы собираетесь использовать и будут заполнены в массиве, будут существовать.