2017-02-16 7 views
0

Dies ist vielleicht die dümmste Frage, die jemals gestellt wurde, aber ich kann keine definitive Antwort finden und sie macht mich wahnsinnig.jQuery - Namenskonvention, Selektor oder Element?

Werden ALLE Selektoren an den jQuery-Konstruktor übergeben, der als Element betrachtet wird?

DOM-Elemente wie HTML, HEAD, BODY, DIV, SECTION, A, P ect. sind alle Elemente des Document Object Model.

Was ist mit Selektoren wie Fenster und Dokument sind sie auch Elemente?

Ich stelle diese dumme Frage, denn wenn es Konvention für die Namensgebung kommt oft i jQuery Selektoren siehe Verwendung als el, oder sogar ElemElement bezeichnet als Elemente oder als Funktionsargumente übergeben.

Danke!

+1

Wenn Sie es wie '$ (window)' umhüllen, haben Sie das window-Objekt, aber '$ ('window')' wird versuchen, alle '' Elemente im DOM zu wählen. –

+0

ok, Wenn also auf Elemente in einem weiten Sinn Bezug genommen wird, sagen und eine Reihe von Selektoren, die eine Vielzahl von HTML-Elementen zurückgeben, wird ein Selektor, der das Fensterobjekt zurückgibt, nicht als Teil der Elemente betrachtet. –

Antwort

1

Ein Element ist ein Knoten im DOM oder das JavaScript-Objekt, das einen Knoten darstellt.

Ein selector ist eine Zeichenfolge, mit der angegeben wird, welche Elemente im DOM zu finden sind. jQuery-Selektoren ähneln CSS-Selektoren. Zu den Selektoren gehören Tagnamen wie div, ID-Selektoren wie #container, Klassenselektoren wie .myclass, Attributselektoren wie [name=username], Pseudo-Selektoren wie :checked und viele Kombinationen davon. Die jQuery()-Funktion kann entweder ein Element oder einen Selektor als Argument akzeptieren und gibt ein jQuery-Auflistungsobjekt mit den angegebenen Elementen zurück. Wenn Sie ein Element angeben, wird es einfach in ein jQuery-Objekt eingebunden. Wenn Sie ihm einen Selektor geben, durchsucht er das DOM nach den übereinstimmenden Elementen und umschließt sie in einem jQuery-Objekt.

In dem folgenden Code, jquery und jquery2 sind effektiv äquivalent:

var element = document.getElementById("someid"); 
var jquery1 = $(element); 

var selector = "#someid"; 
var jquery2 = $(selector); 

Die jQuery() Funktion kann auch andere Arten von Eingängen akzeptieren, die auf Ihre Frage nicht direkt relevant sind.

+0

Das macht Sinn, also ist in diesem Kontext ein Element Wert, der vom Selektor zurückgegeben wird? Wo verlässt das Fenster/Dokument, wenn es von einem Selektor zurückgegeben wird, werden diese auch als "Element" betrachtet? Nur um klar zu sein, denke ich in einem ziemlich weiten Sinne des Begriffs, da ich feststelle, dass alles, was in jQuery() verpackt ist, technisch ein Objekt ist. –

+0

Wenn Sie 'jQuery()' aufrufen, wird ein jQuery-Auflistungsobjekt zurückgegeben, das DOM-Elementobjekte enthält. – Barmar