IE9には、JavaScriptのこの線を中心とにかくCLASSLISTプロパティがされてサポートしていませんIE9のJavascript CLASSLISTプロパティ
this.wrap.classList.add("myClass")
IE9には、JavaScriptのこの線を中心とにかくCLASSLISTプロパティがされてサポートしていませんIE9のJavascript CLASSLISTプロパティ
this.wrap.classList.add("myClass")
ありpolyfillsがありますが、あなたはしたくない場合は、1つを使用します:className
はクラスのスペース区切りのリストであるので、あなたは正規表現を使用できます、
return /(?:^|\s)myClass(?:$|\s)/.test(document.body.className);
-
は、単語の境界としての資格ので、(悲しいことに、私達はちょうど\b
[ワード境界]を使用することはできませんがが、クラスリストのセパレータではありません。 )
代替:前回の回答で
const hasClass = ($element, className) => {
const match = new RegExp(`(^|\\s)${className}(\\s|$)`).test($element.className);
return $element.className && match;
};
const $el = document.querySelector('.foo');
alert(hasClass($el, 'foo'));
.foo {
background: tomato;
}
<div class="foo">Foobar</div>
ビル、あなたは正規表現の核心を自分で対処する必要がしたくない場合、あなたはjQueryのをインポート可能性があり、代わりにjQueryの.hasClass()
メソッドを使用してください。
return $(document.body).hasClass("myClass");
jQueryはブラウザ間のサポートを処理します。
私は次回のためになぜダウンボートを知ることができますか?私は、jQueryの.hasClassメソッドが、OPが望んでいることをしていると確信しています –
https://duckduckgo.com/?q=classlist+polyfill – Quentin