J'utilise une configuration de modernisation personnalisée qui a sélectionné les fonctionnalités que j'utilise dans ma page (et uniquement ces fonctionnalités).
Donc, j'aimerais simplement saisir le className du <html>
de la page afin de pouvoir vérifier combien de classes préfixées no-
sont présentes (peut-être en vérifiant classlist.match(/no-/g).length
) et déterminer si mon javascript doit simplement être abandonné.
Ce n'est pas clair si je devrais utiliser
document.getElementsByTagName('html').className
ou
$('html').attr('class')
ou
document.documentElement.className
Je vais aller pour:
document.documentElement.className;
Parce que n'implique aucune fonction, ni une couche supplémentaire comme jquery Idéalement, celui-ci est le plus propre et le plus rapide.
vous pouvez utiliser la méthode jQuery hasClass
`:
Déterminez si l'un des éléments correspondants est affecté à la classe donnée.
if ( $('html').hasClass('no-something')) {
// do something here
}
Si vous utilisez JS simple, l'équivalent serait:
document.getElementsByTagName('html')[0].className
Si vous utilisez jquery dans votre projet, pourquoi ne pas utiliser celui-ci:
var classList = $("html").attr('class').split(/\s+/);
var prefix = 'no-';
$.each( classList, function(index, item){
if (item.substring(0, 2) === prefix) {
//do something
}
});
?