JSオブジェクトとDomオブジェクトとjQueryオブジェクトの違い

4375 ワード

前言
問題を通して本質を見る:例:jsの書き方:document.getElementById('save').disabled=true; jqueryではこう書きました
$("#save").disabled = true;  //    

解析:実は$("#save")が出てくるのは実はjQueryオブジェクトで、普通のDOMオブジェクト解決方法ではありません:1)JQで書く
$("#save").attr("disabled","true");  

2)DOM表記にする
$("#save")[0].disabled=true;  
  ,$("#save")[0]     $("#save").get(0)。      DOM  。  
$("#save").eq(0)     jq  ,$(dom  )      jq  。

一、Domオブジェクト、JavaScriptオブジェクト、jQueryオブジェクト
1.1 Domオブジェクト
ドキュメントオブジェクトモデルはDOMと略称され、W 3 C組織が推奨する拡張可能なスケーリング言語を処理する標準的なプログラミングインターフェースである.
  • DOMは、実際にはオブジェクト向けに記述されたドキュメントモデルである.DOMは、ドキュメントを表示および変更するために必要なオブジェクト、これらのオブジェクトの動作および属性、およびこれらのオブジェクト間の関係を定義します.
  • は、DOMを介して、すべてのHTML要素にアクセスし、それらに含まれるテキストと属性とともにアクセスすることができる.コンテンツを変更および削除したり、新しい要素を作成したりできます.
  • DOMは、プラットフォームおよびプログラミング言語から独立しています.Java、JavaScript、VBSScriptなどのプログラミング言語で使用できます.
  • DOMオブジェクト、すなわち、従来の方法(javascript)で得られたオブジェクトです.
  • DOMは、正確には、属性およびメソッドの動作のみを定義するドキュメントオブジェクトに対する仕様基準(ドキュメントオブジェクトモデル)である.

  • 1.2 JavaScriptオブジェクト
  • JavaScriptは、String、Date、Arrayなど、複数の組み込みオブジェクトを提供します.
  • オブジェクトは、属性とメソッドを持つ特殊なデータ型にすぎません.
  • jsで取得するDOMオブジェクトがjsオブジェクト
  • である.
  • ブラウザがjsのdomインタフェース(api)をサポートする場合、ここで狭義のdomオブジェクトはjsオブジェクト、すなわちjsオブジェクトとして現れる.

  • 1.3 jQueryオブジェクト
    1)概説jQueryオブジェクトはJavaScriptの配列であり、この配列オブジェクトには125のメソッドと4つの属性の4つの属性が含まれている.
  • jquery現在のjqueryフレームワークバージョン番号
  • lengthは、その配列オブジェクトの要素の個数を示す.
  • contextは一般的にHtml Documentオブジェクトを指す.
  • selectorが伝達するセレクタコンテンツ
  • jqueryオブジェクトとは、DOMオブジェクトをjQueryでラッピングしたものです.jQueryオブジェクトはjQuery独自であり、jQuery内のメソッドを使用することができるが、DOMのメソッドを使用することはできない.逆にDomオブジェクトでもjqueryのメソッドは使用できません.2)jQueryオブジェクトとjsオブジェクトの違い
  • jQueryオブジェクトがjsに属する配列
  • jQueryオブジェクトは、jQueryパッケージのDOMオブジェクトによって生成する
  • である.
  • jQueryオブジェクトはDOMオブジェクトのメソッドと属性
  • を使用できません.
  • DOMオブジェクトはjQueryオブジェクトのメソッドと属性
  • を使用できません.
    3)jQueryオブジェクトとjsオブジェクト間の相互変換
  • js回転jQueryオブジェクト$(jsオブジェクト)
  • jQueryオブジェクト回転jsオブジェクト
  • var doc2=$("#idDoc2")[0];   //  jQuery   DOM    
    doc2.innerHTML="  jQuery    DOM  "  
      //  jQuery       get            DOM    
    var doc2=$("#idDoc2").get(0);  
    doc2.innerHTML="  jQuery    DOM  "  

    二、jQueryオブジェクトとDOMオブジェクトの違いと使用を詳しく述べる
    2.1 jQueryオブジェクトとDOMオブジェクト
    DOMオブジェクトは,我々が従来の方法(javascript)で得たオブジェクトであり,jQueryオブジェクトはjQueryクラスライブラリのセレクタで得たオブジェクトである.
    var domObj = document.getElementById("id"); //DOM  
    var $obj = $("#id"); //jQuery  ;

    jQueryオブジェクトは、jQueryによってDOMオブジェクトがパッケージされたオブジェクトであり、jQuery独自のオブジェクトである.オブジェクトがjQueryオブジェクトであれば、jQueryのメソッドを使用できます.
    $("#foo").html(); //  id foo     html  ,html() jQuery     

    jsと同等:
    document.getElementById("foo").innerHTML;

    注意:jQueryオブジェクトではDOMオブジェクトのメソッドは使用できません.例:
    $("#id").innerHTML  $("#id").checked           

    使用可能
    $("#id").html() $("#id").attr ("checked")    jQuery     。

    同様に、DOMオブジェクトでもjQueryメソッドは使用できません.jQueryを学ぶには、最初から正しい観念を確立し、jQueryオブジェクトとDOMオブジェクトの違いをはっきりさせなければならない.その後、jQueryを学ぶのは楽になるだろう.
    2.2 jQueryオブジェクトとDOMオブジェクトの相互変換
    2.2.1 jqueryオブジェクトをdomオブジェクトに変換する
    jqueryは、1つのjqueryオブジェクトをdomオブジェクト、すなわち[index]およびget(index)に変換する2つの方法を提供する.変な感じがする人もいるかもしれませんが、どうして下付きを使うのでしょうか.間違いなく、jqueryオブジェクトは配列オブジェクトです.例:
    var $cr=$("#cr"); //jquery  
    var cr = $cr[0]; //dom        var cr=$cr.get(0);
    alert(cr.checked); //    checkbox     

    2.2.2 domオブジェクトをjqueryオブジェクトに変換する
    1つのdomオブジェクトに対して、$()でdomオブジェクトをパッケージするだけで、jqueryオブジェクトを得ることができます.方法は$(domオブジェクト)です.例:
    var cr=document.getElementById("cr"); //dom  
    var $cr = $(cr); //   jquery  

    変換後はjqueryのメソッドを任意に使用できます.
    三、まとめて
    domオブジェクトはdomのメソッドを使用できます.jqueryオブジェクトはdomのメソッドを使用できませんが、jqueryオブジェクトはdomを操作するためのより完璧なツールを提供します.
    通常使用されるjqueryオブジェクトは$()関数で作成され、$()関数はjqueryオブジェクトの製造工場です.
    注意:取得したオブジェクトがjqueryオブジェクトである場合、変数の前に$を追加すると、jqueryオブジェクトとは何かを容易に識別できます.例:
    var $variable = jquery  ;

    domオブジェクトを取得した場合は、次のように定義されます.
    var variable = dom