В библиотеке jQuery имется возможность использования области применения селекторов, с помощью контекста.

Что такое контекст в jQuery? Давайте рассмотрим “стандартную” запись кода на JavaScript(jQuery):

$('li').addClass('someClass');

Видим в этом коде, что функции

1
$()
передается один аргумент - в данном случае это селектор
1
li
. В качестве селектора может быть фрагмент разметки, имя класса или имя идентификатора. Но - в 90% случаев функции
1
$()
передается один аргумент.

Однако это не является правилом. И функции

1
$()
можно передавать не один, а два аргумента.

В этом случае второй аргумент является контекстом и служит для указания области дерева DOM, внутри которой необходимо осуществлять поиск.

То есть, запись вида:

$('li').addClass('someClass');

… говорит - найти все элементы

1
li
во всем дереве DOM. Другими словами, отсутствие второго аргумента подразумевает область применения селекторов - все дерево DOM.

А вот запись вида:

$('li','#primo').addClass('block__item--first');

… говорит, что нужно найти все селекторы

1
li
внутри элемента с идентификатором
1
#primo
. Другими словами, идентификатор
1
#primo
ограничивает область применения (или область видимости - как больше нравиться) селектора
1
li
.

Можно слегка усложнить область видимости селекторов - указать не одну область, а две области:

$('li','#primo,#tetro').addClass('block__item--first');

… в этом случае будут возвращены только те элементы

1
li
, которые находятся внутри блока с идентификатором
1
#primo
и внутри блока с идентификатором
1
#tetro
. Другими словами, были заданы две области видимости для селектора
1
li
.

В качестве второго аргумента (контекста) функции

1
$()
может быть передан не только селектор, имя класса или имя идентификатора (как в рассмотренном выше случае).

Контекстом может быть результат работы другой функции! То есть, можно одной функции выборки передавать результат выборки другой функции!

Например, таким гипотетическим образом:

$('a',$('#primo > li')).addClass('block__link--decor');

На этом все.


MongoDB - создание документа

![MongoDB]({{site.url}}/images/uploads/2017/05/mongodb-logo.jpg "MongoDB")Приступили к самому основному - операциям создания, чтения, изм...… Continue reading

MongoDB - документы

Published on May 23, 2017