18

ページで使用する機能 (およびそれらの機能のみ) を選択したカスタム モダナイザー構成を使用しています。

<html>したがって、ページの className を取得して、no-プレフィックス付きのクラスがいくつ存在するかを確認し (おそらく を確認してclasslist.match(/no-/g).length)、JavaScript があきらめるかどうかを判断できるようにします。

使うべきかどうかは不明

document.getElementsByTagName('html').className

また

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

また

document.documentElement.className
4

5 に答える 5

39

私は行きます:

document.documentElement.className;

関数の呼び出しも、jquery のような追加のレイヤーも必要ないためです。理想的には、これが最もクリーンで最速です。

于 2012-07-14T21:03:12.700 に答える
5

hasClassjQuery `メソッドを使用できます:

一致した要素のいずれかに指定されたクラスが割り当てられているかどうかを判断します。

if ( $('html').hasClass('no-something')) {
  // do something here
}
于 2012-07-14T23:11:44.840 に答える
2

プレーン JS を使用する場合、同等のものは次のようになります。

document.getElementsByTagName('html')[0].className
于 2012-07-14T20:48:20.843 に答える
1

プロジェクトでjqueryを使用している場合、これを使用しない理由:

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

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

?

于 2012-07-14T20:46:58.800 に答える