-1

重複の可能性:
document.getElementById と jQuery の比較

jQueryとjavascriptを学んでいます。

  • なぜ$()jQuery のdocument.getElementById()機能が javascript の機能に取って代わらないのか不思議です。

  • の役割ではない$()でしょうか。

  • そうでない場合、 の役割は$()何ですか?

$().outerHeightうまくいかないので、私はこの質問に行きました。

ありがとうございました。

4

4 に答える 4

2

$セレクター、HTML 文字列、および通常の JS オブジェクトを受け入れます。要素の属性getElementByIdのみを受け入れます。id彼らはさまざまなことをします。

DOM オブジェクトのプロパティにアクセスしようとしていますが、jQuery オブジェクトからアクセスしようとしています。jQuery オブジェクトは DOM オブジェクトをラップしますが、それらを置き換えません。

DOM オブジェクトにアクセスするには、$(...)[0](または$(...).get(0)) を使用できます。コードは問題なく動作するはずです。

$(...)[0].outerHeight
于 2012-11-01T18:16:38.020 に答える
1

1)$()は、jQuery の任意の要素にアクセスする方法です。

次の代わりに、他のキーワードを使用できます$

var jq = jQuery.noConflict();

上記のコマンドを実行すると、要素アクセサーは になりjq()ます。

2)$()実際には を置き換えませんdocument.getElementById()。しかし、はい$('#'+id)、それを置き換えます。も動作しますが、これは DOM のプリミティブ プロパティではないため、jQuery の任意の要素にアクセスする方法である$('.'+class)ともう一度言います。$()

于 2012-11-01T18:17:14.810 に答える
0

最初の $ は jquery で select として使用され、基本的に select(something) であり、class、id、html タグなどを指定できます。

したがって、$ は ID を選択するためだけに使用されるわけではありません

これは、outerHeight http://api.jquery.com/outerHeight/を使用するための現在の構文です。

于 2012-11-01T18:16:51.410 に答える
0

$() はjQuery、パラメーターを指定して関数を呼び出しています。パラメータはセレクタであり、ID である必要はありません。セレクターは、DOM ツリー パス、クラス、属性、ID、タグ名などによって選択しjQueryますdocument.getElementById()

さらに、jQuery 関数は常に jQuery オブジェクトを返します。これは、document.getElementById() が DOM 要素または を返しますnull

jQueryのouterHeightには、次を使用できます。

$('#Id').outerHeight(true); // Outer height with margins
$('#Id').outerHeight(); // Outer height without margins
于 2012-11-01T18:16:52.753 に答える