2017-09-15 3 views
-2

私はそれを理解します:$(document)documentのように現在のページのDOMの全体を持ちますが、$('*')も全体のDOMを選択していますが、それらの違いは何ですか?

$異なるライブラリの割り当てが競合し、どのように割り当てられますか?

+1

の配列を返します$('*')として

あなたは '$'が何であるかを尋ねていますか?これはjQueryの短所です。 – Liam

+2

'$(document)'はjqueryラッパーにラップされたドキュメントオブジェクトで、 '$ '(' * ')'はjqueryがすべてを選択することを示します。彼らは全く異なっている。 – Liam

答えて

2

$のjQueryは基本的に開発者が異なるライブラリの略語として$を割り当てることを愛することを意味するSyntatic Sugarです。この場合、$は、jQueryまたはwindow.jQueryの省略形です。

他のライブラリがすでに$を使用している場合、jQueryは互換モードで実行できます。ある場合は、jQuery.noConflict();を使用してください。 $は、さまざまなJavaScriptライブラリのセレクタ関数としてよく使用されています。

$の制御を最初に実装したライブラリに戻す方法を実行します。これは、jQueryが他のライブラリの$オブジェクトと競合しないようにするのに役立ちます。ここで

は、任意の競合を回避する簡単な方法です:私たちはなしたい場合.ready()以内に我々は$を使用することができるよう

// Import other Library 
// Import jQuery Library 
$.noConflict(); 
// Code that uses other library's $ can follow here. 

この技術は、jQueryオブジェクトをエイリアスに.ready()方法の能力と関連して特に有効です後で紛争の恐怖:jQueryのドキュメントを1として

// Import other library 
// Import jQuery 
$.noConflict(); 
jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
}); 
// Code that uses other library's $ can follow here. 

デフォルトでは

、jQueryのはそれを言った "jQueryの" ためのショートカットとして

を "$" を使用しています。

$(".class_name")またはjQuery(".class_name")は同じです。

は、あなたの質問の次の部分に来る:documentは何

documentは、現在のWebページのJavascript内部DOMオブジェクトです。ブラウザのコンソールでは、移動して、次呼び出すことができます。

document それはツリー形式であなたのページの全体のDOMを返します。

> typeof(document)

<. object

ので、typeof(document)objectを返しました。したがって、documentは、全体のWebページのソースコードとツリー形式の多くの追加情報を含むDOMオブジェクトです。

$(document)とは何ですか?

同様に、$(document)は、ウェブページのdocumentcontextを持つオブジェクトの配列形式です。

$('*')とは何ですか?

また、jQueryが完全なDOMを処理した後に返されるオブジェクトです。それはDOMのすべての要素の配列を含んでいるので、jQueryはそれをより速く処理して結果を返すことができます ブラウザコンソールで試すことができます。

> $('*')

> typeof($('*'))

+1

また、 'jQuery(document).ready(function($){...})'を '$(function(){...})'に減らすことができます。 – Andy

+0

@Andy:はい、そうです。 –

1

$(document) - jQueryのために解析されたwindow.documentのドキュメントオブジェクト。

$('*') - DOM内のすべてのオブジェクト(タグ)を含む配列。「*」はすべての一般的なセレクタです。

1

$(document)その内の要素が含まれています対象文書をもたらすでしょう。すべての要素

関連する問題