jQuery オブジェクトとは何ですか?
---DOM オブジェクトを jQuery でラップして生成されたオブジェクトです。 jQuery オブジェクトは jQuery に固有であり、jQuery のメソッドを使用できます。
例:
$("#test").html() は、ID test を持つ要素内の HTML コードを取得することを意味します。このうち、html() は jQuery のメソッドです。
このコードは、DOM を使用してコードを実装するのと同じです。
document.getElementById("id").innerHTML; jQuery オブジェクトはラッパーです。DOM オブジェクトの後に生成されますが、jQuery は DOM オブジェクトのメソッドを使用できません。同様に、DOM オブジェクトも jQuery 内のメソッドをむやみに使用するとエラーが報告されます。例: $("#test").innerHTML、document.getElementById("id").html() などの記述方法が間違っています。
もう 1 つ注意すべき点は、#id をセレクターとして使用して取得した jQuery オブジェクトと document.getElementById("id") で取得した DOM オブジェクトは同等ではないということです。以下の 2 つの間の変換を参照してください。
jQuery は異なるものですが関連しているため、jQuery オブジェクトと DOM オブジェクトを相互に変換することもできます。 2 つを変換する前に、まず規則を作成します。jQuery オブジェクトが取得された場合は、次のように変数の前に $ を追加します。DOM オブジェクトが取得された場合は、次と同じです。通常. : var variab = DOM object; この規則は説明と区別の便宜のためだけであり、実際の使用では規定されていません。
jQuery オブジェクトを DOM オブジェクトに変換します:
2 つの変換メソッドは、jQuery オブジェクトを DOM オブジェクトに変換します: [index] と .get(index) (1 )jQuery object はデータ オブジェクトであり、対応する DOM オブジェクトは [index] メソッドを通じて取得できます。
例: var $v =$("#v"); //jQuery オブジェクト
var v=$v[0]; //DOM オブジェクト
alert(v.checked); this チェックボックスが選択されているかどうか
(2) jQuery 自体は、.get(index) メソッドを通じて、次のような対応する DOM オブジェクト
を取得します。 //jQuery object
var v=$v.get(0); //DOM object
alert(v.checked) //このチェックボックスが選択されているかどうかを検出します
DOM オブジェクトjQuery オブジェクトに変換されます: DOM オブジェクトの場合、DOM オブジェクトを $() でラップするだけで jQuery オブジェクトを取得できます。 $(DOM object)
例: var v=document.getElementById("v"); //DOM オブジェクト
var $v=$(v); //jQuery オブジェクト
を変換できますjQueryのメソッドを自由に使用できます。
上記のメソッドにより、jQueryオブジェクトとDOMオブジェクトを任意に相互変換することができます。もう一度強調しておく必要があるのは、DOM 内のメソッドを使用できるのは DOM オブジェクトのみであり、jQuery オブジェクトは DOM 内のメソッドを使用できないということです。
その他の関連する使用方法は次のとおりです。
1. DOM オブジェクトを jQuery オブジェクトに変換する 通常の Dom オブジェクトは、通常、$() を介して jQuery オブジェクトに変換できます。
例: $(document.getElementById("msg"))
返されるのは jQuery オブジェクトであり、jQuery メソッドを使用できます。
2. jQuery オブジェクトを DOM オブジェクトに変換します jQuery オブジェクト自体はコレクションであるためです。したがって、jQuery オブジェクトを Dom オブジェクトに変換する場合は、項目の 1 つを取得する必要があります。通常はインデックスを通じて取得できます。
例: $("#msg")[0]、$("div").eq(1)[0]、$("div").get()[1]、$("td " )[5]
これらは Dom オブジェクトです。Dom のメソッドは使用できますが、jQuery メソッドは使用できなくなりました。
次の記述方法は正しいです:
$("#msg").html();
$("#msg")[0].innerHTML; #msg").eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;