ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery.cleanの利用方法とideas_jqueryの分析

jQuery.cleanの利用方法とideas_jqueryの分析

WBOY
WBOYオリジナル
2016-05-16 17:44:151512ブラウズ

1. jQuery.clean の使用方法
jQuery.clean(elems、context、fragment、script);
2. アイデア分析
1 . パラメータ コンテキストを処理し、それがドキュメント ルート ノードであることを確認します
2. パラメータ elems 配列を処理します (配列をループします)
2.1. elem は文字列に変換します
2.2 . elem は不正な値です。このページから出てください。 2 番目のループ
2.3. elem は文字列です。 2.4. 文字列にエンティティ番号または HTML タグがない場合は、テキスト ノード
を作成します。文字列はエンティティ番号または HTML タグです

コードをコピーします コードは次のとおりです:
div 要素を作成し、ドキュメント フラグメントに挿入します
xhtml スタイル タグを処理します
要素をラップし、ラップされた文字列を div の innerHTML として使用します
ラップの深さが 1 より大きい場合は、最初の要素のみが使用されますラッピング要素のレイヤーは残ります
IE6 および 7 で空の table タグに自動的に追加された tbody をクリアします
IE9 未満のブラウザでは削除される先頭の空白文字列を div の最初のテキスト子ノードとして使用します要素
要素を div (nodeList オブジェクト) の子ノード コレクションに再割り当てします。
今回は削除します。 ループ内のドキュメント フラグメント内の div は、次のループでクリーンな div 要素を維持します。

2.3. elem がテキストノードの場合は、返される ret 配列に直接追加します。それ以外の場合は、elem(nodeList Object) が配列にマージされます
2.4. IE6 と 7 の選択状態 (チェック済み) のバグを修正します。 ) ラジオタイプとチェックボックスタイプのノードが無効です
3. 処理パラメータフラグメント
3.1. ret 内の各ノードをドキュメントフラグメントフラグメントに追加します
3.2. ノード内のスクリプトの子ノードを抽出します。 ret 配列に追加します。追加されたスクリプトの位置は、元の親要素の位置
の後ろになります。 4. ret 配列

3. ソース コードのコメント解析 に戻ります。および関数で使用される関数

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

var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|"
"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
wrapMap = {
option: [ 1, "