Рис. 48. Конструкция «элемент+элемент» на примере div+a
Таким образом, если мы зададим условие активации триггера в GTM по Click Element и соответствию селектору CSS “div+a”
, то тег будет активироваться по событию на странице по тегу , который идет сразу после закрывающегося тега ”div” (выделено зеленым), игнорируя другие теги внутри “div” (выделены красным).Рис. 49. Клик по элементам, соответствующим CSS-селектору div+a
Пример p~ol. Конструкция «элемент~элемент»
позволяет выбрать все элементы “ol”, которым предшествует элемент “p”.Селекторы по атрибутам
У элементов HTML есть атрибуты – это дополнительные значения, которые настраивают элементы или регулируют их поведение различным способом. Справочная информация по HTML атрибутам доступна по ссылке: https://developer.mozilla.org/ru/docs/Web/HTML/Attributes
Существует особый вид селекторов, позволяющий искать элементы по их атрибутам и значениям. Для их записи используются квадратные скобки []
.Эти селекторы выделяют элементы на основе точного значения атрибута:
● [атрибут]
– выбирает все элементы с атрибутом ”атрибут”, вне зависимости от его значения;Пример [target] – выбирает все элементы на странице с атрибутом target
.Примечание:
по умолчанию, при переходе по ссылке документ открывается в текущем окне или фрейме. При необходимости, это условие может быть изменено атрибутом target тега .● [атрибут=”значение”]
– выбирает все элементы с атрибутом “атрибут”, которое имеет значение “значение”.Пример [target=_blank] – выбирает все элементы с атрибутом “target”
, который имеет значение “_blank”.● [атрибут~=”значение”]
– выбирает все элементы с атрибутом “атрибут”, в значении которого (в любом месте) встречается "значение" в виде отдельного слова. Если говорить простыми словами, то является аналогом условияРис. 50. Пример использования [атрибут~=”значение”]
Тильда (~)
в данном селекторе является ключом для осуществления выбора элемента на основании наличия в значении атрибута нужного слова, отделенного пробелом. Если тильда будет пропущена, то получится требование к точному значению.Селекторы по атрибутам этого типа еще называют «Селекторы типа регулярных выражений (RegExp-like selectors)»,
поскольку они предлагают способ проверки условий, подобно тому, как это делают регулярные выражения. Подробно о регулярных выражениях и примерах их использования написано в моей другой книге «Google Analytics для googлят: Практическое руководство по веб-аналитике (2018)».Селекторы типа регулярных выражений:
● [атрибут|=”значение”] –
выбирает все элементы с атрибутом “атрибут”, имеющие значение в точности равное “значение” или начинающееся с “значение-“ (обратите внимание, что символ | – это не ошибка, он нужен для работы с языковой кодировкой.)Значение может быть единственным словом в атрибуте, например, lang="ru" или с добавлением других слов через дефис, например, lang="ru-region".
На примере ниже для “lang|=ru” задается стиль (color:green). Результатом будет измененный цвет текста у атрибута “ru” Привет! и “ru-region” Здравствуйте. (выделено зеленым), поскольку [атрибут|=”значение”]
подразумеваетРис. 51. Пример использования [атрибут|=”значение”]
Далее идут три css-селектора, которые используют регулярные выражения и в их конструкции присутствуют специальные символы, такие же, как в Google Analytics при фильтрации или поиске. Это ^, $
и *.● [атрибут^=”значение”]
– выбирает каждый элемент с атрибутом “атрибут”, значение которого начинается с “значение”.Пример a[href^="https"] – выбирает каждый элемент с атрибутом href
, значение которого начинается с "https".● [атрибут$=”значение”]
– выбирает все элементы с атрибутом “атрибут”, значение которого заканчивается на “значение”.Рис. 52. Пример использования [атрибут$=”значение”]