2017-02-16 4 views
0

Это может быть самый тупой вопрос, который когда-либо задавали, но я не могу найти окончательного ответа, и это сводит меня с ума.jQuery - Соглашение об именах, селектор или элемент?

Все ли селекторы, переданные конструктору jQuery, считаются элементом?

Элементы DOM, такие как HTML, HEAD, BODY, DIV, SECTION, A, P ect. все элементы объектной модели документа.

Что относительно селекторов, таких как окно и документ, являются ли они также элементами?

я задаю этот глупый вопрос, потому что, когда речь идет о именовании я часто вижу JQuery селекторы обозначаться как элементы или передаются в качестве аргументов функции, используя в качестве эль, элемент или даже Элем.

Спасибо!

+1

Если вы обертываете его как '$ (window)', у вас будет объект window, но '$ ('window')' будет пытаться выбрать все '' элементов в DOM –

+0

ok, поэтому, ссылаясь на элементы в широком смысле, скажем, и набор селекторов, возвращающих множество элементов HTML, селектор, возвращающий объект окна, не будет считаться частью элементов? –

ответ

1

Элемент - это узел в DOM или объект Javascript, представляющий узел.

A selector - это строка, используемая для указания элементов, которые можно найти в DOM. Селекторы jQuery аналогичны селекторам CSS. Селекторы включают имена тегов, такие как div, идентификаторы, такие как #container, селектора классов, такие как .myclass, селектора атрибутов, такие как [name=username], псевдоселектора, такие как :checked, и множество комбинаций из них.

Функция jQuery() может принимать как элемент, так и селектор в качестве аргумента и возвращать объект коллекции jQuery, содержащий указанные элементы. Если вы даете ему элемент, он просто переносит его в объект jQuery; если вы дадите ему селектор, он ищет DOM для соответствующих элементов и переносит их в объект jQuery.

В приведенном ниже коде, jquery и jquery2 эффективно эквивалентны:

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

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

jQuery() функция может также принимать другие виды ввода, которые не имеют непосредственного отношения к вашему вопросу.

+0

Это имеет смысл, поэтому в этом контексте элемент является значением, возвращаемым селектором? Где это выходит из окна/документа, когда он возвращается селектором, они также считаются «элементом»? Чтобы быть ясным, я думаю в довольно широком смысле этого термина, поскольку я понимаю, что все, что завернуто в jQuery(), является технически объектом. –

+0

Когда вы вызываете 'jQuery()', он возвращает объект коллекции jQuery, и это содержит объекты элемента DOM. – Barmar

Смежные вопросы