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

Как получить теги класса элемента html

Я использую настраиваемую конфигурацию модернизатора, которая выбрала функции, которые я использую на своей странице (и только те функции).

Итак, я хотел бы просто захватить имя класса <html> страницы, чтобы я мог проверить, сколько присутствующих префиксных классов no- присутствует (возможно, проверка classlist.match(/no-/g).length) и определить, должен ли мой javascript просто сдавайся.

Не понятно, следует ли использовать

document.getElementsByTagName('html').className

или

$('html').attr('class')

или

document.documentElement.className
4b9b3361

Ответ 1

Я пойду за:

document.documentElement.className;

Потому что не имеет никакого вызова функции, ни дополнительный слой, как jquery. В идеале это самый чистый и быстрый.

Ответ 2

вы можете использовать jQuery hasClass` метод:

Определите, назначен ли какой-либо из согласованных элементов данному классу.

if ( $('html').hasClass('no-something')) {
  // do something here
}

Ответ 3

Если использовать простой JS, эквивалент будет:

document.getElementsByTagName('html')[0].className

Ответ 4

Если вы используете jquery в своем проекте, почему бы не использовать этот:

var classList = $("html").attr('class').split(/\s+/);
var prefix = 'no-';

$.each( classList, function(index, item){
  if (item.substring(0, 2) === prefix) {
    //do something
  }
});

?