ホームページ  >  記事  >  ウェブフロントエンド  >  JS を使用して jQuery の addClass、removeClass、hasClass 関数を実装する_JavaScript スキル

JS を使用して jQuery の addClass、removeClass、hasClass 関数を実装する_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 16:32:341347ブラウズ

これ以上ナンセンスなことはやめて、コードに直接進みましょう

コードをコピーします コードは次のとおりです:

関数 addClass(obj, cls){
var obj_class = obj.className,//クラスのコンテンツを取得します。
Blank = (obj_class != '') ? ' ' : '';//取得したクラスが空かどうかを判断し、空でない場合は前に「スペース」を追加します。
added = obj_classblank cls;//元のクラスと追加する必要があるクラスを結合します。
Obj.className = added;//元のクラスを置き換えます。
}

関数removeClass(obj, cls){
var obj_class = ' ' obj.className ' ';//クラスの内容を取得し、先頭と末尾にスペースを追加します。 例) 'abc bcd' -> ' abc bcd '
obj_class = obj_class.replace(/(s )/gi, ' '),//余分な null 文字をスペースに置き換えます。例) ' abc bcd ' -> ' abc bcd '
Removed = obj_class.replace(' ' cls ' ', ' ');//元のクラスの先頭と末尾をスペースに置き換えます 例) ' abc bcd ' -> 'bcd '
Removed = selected.replace(/(^s )|(s $)/g, '');//先頭と末尾のスペースを削除します。例) 'bcd ' -> 'bcd'
Obj.className = Removed;//元のクラスを置き換えます。
}

関数 hasClass(obj, cls){
var obj_class = obj.className,//クラスのコンテンツを取得します。
Obj_class_lst = obj_class.split(/s /);//null 文字を分割して cls を配列に変換します。
x = 0;
for(x in obj_class_lst) {
If(obj_class_lst[x] == cls) {//配列をループして、配列に cls
が含まれているかどうかを判断します true を返します;
}
}
false を返します;
}
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。