В библиотеке jQuery имется возможность использования области применения селекторов, с помощью контекста.
Что такое контекст в jQuery? Давайте рассмотрим “стандартную” запись кода на JavaScript(jQuery):
Видим в этом коде, что функции
передается один аргумент - в данном случае это селектор 1
$()
. В качестве селектора может быть фрагмент разметки, имя класса или имя идентификатора. Но - в 90% случаев функции 1
li
передается один аргумент.1
$()
Однако это не является правилом. И функции
можно передавать не один, а два аргумента.1
$()
В этом случае второй аргумент является контекстом и служит для указания области дерева DOM, внутри которой необходимо осуществлять поиск.
То есть, запись вида:
… говорит - найти все элементы
во всем дереве DOM. Другими словами, отсутствие второго аргумента подразумевает область применения селекторов - все дерево DOM.1
li
А вот запись вида:
… говорит, что нужно найти все селекторы
внутри элемента с идентификатором 1
li
. Другими словами, идентификатор 1
#primo
ограничивает область применения (или область видимости - как больше нравиться) селектора 1
#primo
.1
li
Можно слегка усложнить область видимости селекторов - указать не одну область, а две области:
… в этом случае будут возвращены только те элементы
, которые находятся внутри блока с идентификатором 1
li
и внутри блока с идентификатором 1
#primo
. Другими словами, были заданы две области видимости для селектора 1
#tetro
.1
li
В качестве второго аргумента (контекста) функции
может быть передан не только селектор, имя класса или имя идентификатора (как в рассмотренном выше случае).1
$()
Контекстом может быть результат работы другой функции! То есть, можно одной функции выборки передавать результат выборки другой функции!
Например, таким гипотетическим образом:
На этом все.