2017-02-16 1 views
0

Ceci peut être la question la plus stupide jamais posée mais je ne peux pas trouver une réponse définitive et cela me rend fou.jQuery - Convention de dénomination, sélecteur ou élément?

Tous les sélecteurs transmis au constructeur jQuery sont-ils considérés comme un élément?

Éléments DOM tels que HTML, HEAD, BODY, DIV, SECTION, A, P ect. sont tous les éléments du modèle d'objet de document. Qu'en est-il des sélecteurs tels que fenêtre et document sont-ils aussi des éléments?

Je pose cette question idiote parce que quand il s'agit de convention de nommage que je vois souvent des sélecteurs jQuery refered comme éléments ou passés comme arguments de fonction en utilisant comme el, élément ou même élém.

Merci!

+1

Si vous l'enveloppez comme '$ (window)' vous aurez l'objet window, mais '$ ('window')' tentera de sélectionner tous les éléments '' dans le DOM –

+0

ok, Ainsi, quand on se réfère à des éléments au sens large, disons et à un ensemble de sélecteurs retournant une variété d'éléments HTML, un sélecteur retournant l'objet fenêtre ne sera pas considéré comme faisant partie des éléments? –

Répondre

1

Un élément est un noeud dans le DOM ou l'objet Javascript qui représente un noeud.

Un selector est une chaîne utilisée pour spécifier les éléments à rechercher dans le DOM. Les sélecteurs jQuery sont similaires aux sélecteurs CSS. Les sélecteurs incluent des noms de tag tels que div, des sélecteurs d'ID tels que #container, des sélecteurs de classe tels que .myclass, des sélecteurs d'attribut tels que [name=username], des pseudo-sélecteurs comme :checked et de nombreuses combinaisons de ceux-ci.

La fonction jQuery() peut accepter un élément ou un sélecteur comme argument et retournera un objet de collection jQuery contenant les éléments spécifiés. Si vous lui donnez un élément, il l'enveloppe simplement dans un objet jQuery; Si vous lui donnez un sélecteur, il recherche les éléments correspondants dans le DOM et les enveloppe dans un objet jQuery.

Dans le code ci-dessous, et jqueryjquery2 sont effectivement équivalentes:

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

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

La fonction jQuery() peut également accepter d'autres types d'entrée qui ne sont pas directement pertinents à votre question.

+0

Cela a du sens, donc dans ce contexte un élément est une valeur retournée par le sélecteur? Où cela laisse-t-il la fenêtre/document, quand retourné par un sélecteur sont-ils également considérés comme un "élément"? Juste pour être clair je pense dans un sens plutôt large du terme car je réalise que tout ce qui est enveloppé dans jQuery() est techniquement un objet. –

+0

Lorsque vous appelez 'jQuery()', il renvoie un objet de collection jQuery, qui contient des objets d'élément DOM. – Barmar