2017-09-15 1 views
-2

Ich verstehe es als: $(document) wird ganze DOM der aktuellen Seite wie haben, während $('*') wählt auch ganze DOM, was ist der Unterschied zwischen ihnen, sind sie nicht gleich?

Wird nicht $ Zuweisung von verschiedenen Bibliotheken Konflikt, wie sie zugeordnet sind?

+1

zurückkehren Sind Sie fragen, was das '$' ist? Es ist nur eine kurze Hand für jQuery. – Liam

+2

'$ (document)' ist das Dokumentobjekt, das in einen jquery-Wrapper eingepackt ist, '$ ('*')' sagt, dass jquery alles auswählen soll. Sie sind total verschieden. – Liam

Antwort

2

$ in jQuery ist im Grunde Syntatic Sugar, was bedeutet, dass Entwickler gerne $ als Kurzschrift für verschiedene Bibliothek zuweisen. In diesem Fall ist $ eine Kurzschrift von jQuery oder window.jQuery.

jQuery kann im Kompatibilitätsmodus ausgeführt werden, wenn eine andere Bibliothek bereits $ verwendet. Verwenden Sie einfach jQuery.noConflict(); um zu wissen, ob es gibt. $ wird häufig als Auswahlfunktion in verschiedenen JavaScript-Bibliotheken verwendet.

Führen Sie jQuery.noConflict() Methode, um die Kontrolle der $ Variable zurück zu der Bibliothek, die es zuerst implementiert. Dadurch wird sichergestellt, dass jQuery nicht mit dem Objekt $ anderer Bibliotheken in Konflikt steht. Hier

ist einfacher Weg, einen Konflikt zu vermeiden:

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

Diese Technik ist besonders effektiv in Verbindung mit der Fähigkeit der .ready() Methode des jQuery-Objekt an Alias, wie sie im .ready() können wir $ verwenden, wenn wir wollen, ohne später von Konflikten Angst:

// 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. 

per jQuery Dokumentation:

standardmäßig jQuery verwendet "$" als Abkürzung für "jQuery"

das gesagt zu haben.

$(".class_name") oder jQuery(".class_name") ist das gleiche.

kommend zum nächsten Teil Ihrer Frage:

Was document ist?

document ist ein Javascript internes DOM-Objekt der aktuellen Webseite. In Browser-Konsole können Sie gehen und rufen Sie folgende:

document Es wird Ihr ganzen DOM Seite im Baum-Format zurück.

> typeof(document)

<. object

So kehrte typeof(document)object. Daher ist document ein DOM-Objekt, das den gesamten Webseiten-Quellcode und viele zusätzliche Informationen im Baumformat enthält.

Was ist $(document)?

Ähnlich ist $(document) auch ein Objekt im Array-Format mit document und context der Webseite.

Was ist $('*')?

Es ist auch ein Objekt, das nach jQuery Prozess voll DOM zurückgegeben wird. Es enthält ein Array aller Elemente im DOM, sodass jQuery es schneller verarbeiten und das Ergebnis zurückgeben kann. Sie können es in der Browser-Konsole versuchen.

> $('*')

> typeof($('*'))

+1

Außerdem: 'jQuery (Dokument) .ready (function ($) {...})' kann auf '$ (function() {...})' reduziert werden. – Andy

+0

@Andy: Ja, das ist richtig. –

1

$(document) - das Dokumentobjekt wie in window.document, geparst für jQuery;

$('*') - ein Array, das alle Objekte (Tags) im DOM enthält, da '*' ein allgemeiner Selektor für alles ist.

1

$(document) wird das Objekt Dokument bringen, welche die Elemente in ihr enthalten wird.

Wo, wie $('*') wird ein Array aller Elemente

Verwandte Themen