Например, для элемента с
id="foo.bar"
, будет такой селектор $("#foo\.bar")
.1
$("*") |
Все теги |
$("p") |
Все <p> |
$("h2,div,p") |
Все <h2> , <div> , <p> |
$(":header") |
Все заголовки <h2> , <h3> … |
$("#lastname") |
Элемент с id="lastname" |
$(".intro") |
Все элементы с class="intro" |
$(".intro,.demo") |
Все элементы с классами «intro», «demo» |
$(". intro.demo") |
Все элементы с классом «intro» и «demo» |
$(".intro .demo") |
Все элементы с классом «demo», которые находится внутри «intro» |
$("div > p") |
Все <p> , которые являются прямыми потомками <div> |
$("div p") |
Все <p> , которые являются потомками <div> |
$("div + p") |
<p> , которые идут за <div> |
$("div ~ p") |
Все <p> , которые идут за <div> , в общем родителе |
2
$("[href]") |
Все элементы с атрибутом href |
$("[href][title]") |
Все элементы с атрибутами href и title |
$("[href='default. ='Tom']") |
Все элементы с атрибутом title , начинающимся с «Tom» |
$("[title~='hello']") |
Все элементы с атрибутом title , содержащим определенное слово «hello» |
$("[title*='hello']") |
Все элементы с атрибутом title , содержащим слово «hello» |
3
$("p:first") |
Первый <p> |
$("p:last") |
Последний
|
$("tr:even") |
Четные <tr> |
$("tr:odd") |
Нечетные <tr> |
Поиск в родителе
$("div p:first-child") |
Первый <p> в <div> |
$("div p:first-of-type") |
Первый <p> в <div> , игнорируя другие элементы |
$("div p:last-child") |
Последний <p> в <div> |
$("div p:last-of-type") |
Последний <p> в <div> , игнорируя другие элементы |
$("div p:nth-child(2)") |
Второй <p> в <div> |
$("div p:nth-last-child(2)") |
Второй с конца <p> в <div> |
$("div p:nth-of-type(2)") |
Второй <p> в <div> , игнорируя другие элементы |
$("div p:nth-last-of-type(2)") |
Второй с конца <p> в <div> , игнорируя другие элементы |
$("div p:only-child") |
<p> , который является единственным потомком в <div> |
$("div p:only-of-type") |
<p> , который является единственным потомком в <div> , игнорируя другие элементы |
Поиск по индексу (индекс элементов начинается с нуля)
$("ul li:eq(3)") |
Четвертый <li> в списке <ul> |
$("ul li:gt(3)") |
Все <li> с индексом > 3 |
$("ul li:lt(3)") |
Все <li> с индексом < 3 |
4
$(":animated") |
Элементы, которые находятся в процессе анимации |
$(":focus") |
Элемент в фокусе |
$(":contains('Hello')") |
Все теги, содержащие текст «Hello» |
$("div:has(p)") |
Элементы <div> , которые содержат хотя бы один элемент <p> |
$(":empty") |
Пустые элементы |
$(":not(:empty)") |
Непустые элементы |
$(":parent") |
Все элементы, у которых есть хотя бы один дочерний элемент или текст |
$("p:hidden") |
Скрытые элементы <p> (display: none; ) |
$("p:visible") |
Видимые элементы <p> |
$(":root") |
Выбирает элемент, который является корнем документа (<html> ) |
$("p:lang(ru)") |
Выбирает все элементы c указанным языком <p lang="ru">. ..</p> |
5
$(":input") |
Все поля input |
$(":text") |
Текстовые поля type="text" |
$(":password") |
Поля с паролем type="password" |
$(":radio") |
Радиокнопки |
$(":checkbox") |
Чекбоксы |
$(":submit") |
Кнопки с type="submit" |
$(":reset") |
Кнопки с type="reset" |
$(":button") |
Кнопки с type="button" |
$(":image") |
Кнопки с type="image" |
$(":file") |
Выбор файла type="file" |
Состояние полей
$(":enabled") |
Все активные элементы (без disabled="disabled" ) |
$(":disabled") |
Заблокированные элементы |
$(":selected") |
Выбранные <option> в <select> |
$(":checked") |
Отмеченные чекбоксы и радиокнопки |
svg.
js Справочное руководство svg.js Справочное руководствоОбращение
Можно получать элемент, созданный с помощью SVG.js, по его идентификатору (id). Существует два способа выбора элементов используя CSS-селекторы.С помощью идентификатора (id)
SVG.get()
возвращает — SVG.Element (или наиболее соответствующий подкласс из SVG.Element)
Если нужно получить элемент, созданный с помощью SVG.js, по его идентификатору (
id:
// javascript var element = SVG.get('my_element')
element.fill('#f06')
При помощи CSS-селекторов
SVG.select()
возвращает — SVG.Set
Этот метод выполнит поиск всех svg-элементов в документе и возвратит их в экземпляре
SVG.Set:
// javascript var elements = SVG.select('rect. my-class').fill('#f06')
Кроме того, можно передать второй аргумент для определения родительского элемента для поиска:
// javascript var elements = SVG.select('rect.my-class', group).fill('#f06')
element.select()
возвращает — SVG.Set
Аналогично методу
SVG.select(), элементы можно выбрать также и в дочернем элементе:
// javascript var elements = group.select('rect.my-class').fill('#f06')
Этот метод доступен для всех родительских классов, наследуемых от
SVG.Parent.
Существующие элементы DOM
SVG.adopt()
возвращает — SVG.Element
Если нужно, чтобы SVG.js принял существующий элемент DOM, можно воспользоваться методом
SVG.adopt().
// javascript var polygon = document. createElement('polygon')
var element = SVG.adopt(polygon)
element.fill('#f06')
При помощи jQuery или Zepto
Ещё один способ — использовать jQuery или Zepto.Вот пример:
// javascript // add elements (добавить элементы) var draw = SVG('drawing') var group = draw.group().addClass('my-group') var rect = group.rect(100,100).addClass('my-element') var circle = group.circle(100).addClass('my-element').move(100, 100)// get elements in group (получить элементы группы) var elements = $('#drawing g.my-group .my-element').each(function() { this.instance.animate().fill('#f09') })
Круговые ссылки
Внутри SVG.js каждый экземпляр элемента имеет ссылку на действующий узел — node.node
возвращает — SVGElement
// javascript element.node
native()
возвращает — SVGElement
// javascript element.node
instance
возвращает — SVG.Element
Аналогично,
nodeсодержит ссылку на
instanceSVG. js:
// javascript node.instance
Обратите внимание на разницу в возвращаемых значениях.
nodeссылается на местный
SVGElement, а
instanceссылается на экземпляр
SVG.Element.
Дочерние ссылки
children()
возвращает — массив (array)
С помощью метода
childrenможно получить массив всех дочерних элементов (потомков).
// javascript draw.children()
clear()
возвращает — самого себя (itself)
Для удаления всех элементов из родительского элемента:
// javascript draw.clear()
each()
возвращает — самого себя (itself)
Метод
each()позволяет перебирать все дочерние элементы родительского элемента:
// javascript draw. each(function(i, children) { this.fill({ color: '#f06' }) })
Также возможен глубокий обход, для которого нужно передать методу в качестве второго аргумента значение
true.
// javascript // draw.each(block, deep) draw.each(function(i, children) { this.fill({ color: '#f06' }) }, true)
Примечание: this относится к текущему дочернему элементу.
first()
возвращает — SVG.Element
Метод получает первый элемент в родительском элементе:
// javascript draw.first()
get()
возвращает — SVG.Element
Получает элемент в заданной позиции в массиве дочерних элементов:
// javascript var rect = draw.rect(20, 30) var circle = draw.circle(50)
draw.get(0) // -> returns rect (возвращает прямоугольник) draw.get(1) // -> returns circle (возвращает круг)
has()
возвращает — логическое значение (boolean)
Проверка существования элемента внутри родительского элемента:
// javascript var rect = draw. rect(100, 50) var group = draw.group()
draw.has(rect) // -> returns true (возвращает значение true) group.has(rect) // -> returns false (возвращает значение false)
index()
возвращает — число (number)
Метод возвращает индекс заданного элемента и возвращает
-1, когда заданный элемент не является дочерним элементом.
// javascript var rect = draw.rect(100, 50) var group = draw.group()
draw.index(rect) // -> returns 0 (возвращает 0) group.index(rect) // -> returns -1 (возвращает -1)
last()
возвращает — SVG.Element
Метод для получения последнего дочернего элемента в родительском элементе:
// javascript draw.last()
Родительские ссылки
С помощью метода parent() каждый элемент имеет ссылку на свой родительский элемент:doc()
возвращает — SVG.Doc
Метод
doc()можно использовать для получения корневого SVG:
// javascript var draw = SVG('drawing') var rect = draw. rect(100, 100)
rect.doc() // -> returns draw (возвращает draw - рисование)
parent() внутри svg-документа
возвращает — SVG.Element
// javascript element.parent()
Кроме того, в качестве первого аргумента можно передать класс или селектор CSS:
// javascript var draw = SVG('drawing') var nested = draw.nested().addClass('test') var group = nested.group() var rect = group.rect(100, 100)
rect.parent() // -> returns group (возвращает group - группу) rect.parent(SVG.Doc) // -> returns draw (возвращает draw - рисование) rect.parent(SVG.Nested) // -> returns nested (возвращает nested - вложенное) rect.parent(SVG.G) // -> returns group (возвращает group - группу) rect.parent('.test') // -> returns nested (возвращает nested - вложенное)
parent() на самом верхнем svg-документе
возвращает — HTMLNode
// javascript var draw = SVG('drawing')
draw. parent() // -> returns the wrapping html element with id 'drawing' // -> возвращает html элемент-упаковку с идентификатором 'drawing'
parents()
возвращает — массив (array)
Метод применяется для получения всех предков элемента, отфильтрованных по типу или CSS-селектору (смотрите метод
parent()).
// javascript var group1 = draw.group().addClass('test') , group2 = group1.group() , rect = group2.rect(100,100)
rect.parents() // returns (возвращает) [group1, group2, draw] rect.parents('.test') // returns (возвращает) [group1] rect.parents(SVG.G) // returns (возвращает) [group1, group2]
URI ссылки
В тех случаях, когда один элемент связан с другим через атрибут, экземпляр связанного элемента можно получить с помощью метода reference().reference()
возвращает — SVG.Element
Единственное, что требуется, это имя атрибута:
// javascript use. reference('href') // -> returns used element instance // -> возвращает используемый экземпляр элемента // or (или) rect.reference('fill') // -> returns gradient or pattern instance for example // -> возвращает градиент или например, образец шаблона // or (или) circle.reference('clip-path') // -> returns clip instance (возвращает экземпляр вырезки)
детей | Документация Cypress
Получите дочерние элементы каждого элемента DOM в наборе элементов DOM.
Синтаксис
.children()
.children(селектор)
.children(параметры)
.children(селектор, параметры)
Использование
Правильное использование
options (объект)
Передайте объект параметров, чтобы изменить поведение по умолчанию . children()
.
Опция | По умолчанию | Описание |
---|---|---|
log | True | Отображает команду в журнале команды |
9005. 9005. Дис. 9005.105151515151515151515151510 гг. time out |
Yields
-
.children()
возвращает новые найденные элементы DOM. -
.children()
— это запрос, и это сейф для цепочки дальнейших команд.
Примеры
Без аргументов
Получить дочерние элементы
.secondary-nav
- О
- 7
Службы
li>Веб-дизайн - Дизайн логотипа
-
Полиграфический дизайн
- Вывески
- Футболка
- Визитные карточки
// дает [
//
//
//
// ]
cy. get('ul.secondary-nav').children()
Селектор
Получить дочерние элементы класса
активными
- Модульное тестирование
- Интеграционное тестирование
// дает [
//
// ]
cy.get('ul ').children('.active')
Правила
Требования
-
.children()
требует привязки к команде, которая дает элемент(ы) DOM.
Утверждения
-
.children()
автоматически повторит попытку пока элемент(ы) существуют в DOM. -
.children()
автоматически повторит попытку пока не будут пройдены все связанные утверждения.
Тайм-ауты существуют в DOM.
.children()
может истечь время ожидания подтверждения, которое вы добавили для прохождения.Журнал команд
Утверждение, что в навигации должно быть 8 дочерних элементов ', 8) Приведенные выше команды будут отображаться в журнале команд как: При нажатии на команду Тестовые запросы на тестовом стенде Xpath: Работает в Firefox и Chrome. В Xpath нет оператора «проверить, является ли часть списка, разделенного пробелами», так что это обходной путь (источник). Начните свое выражение с любого из них. Разделите шаги с Шаг может иметь имя элемента ( Ограничивает набор узлов, только если выполняется какое-либо условие. Их можно заковать. Используйте операторы сравнения и логические операторы для создания условий. Вы можете использовать узлы внутри предикатов. Используйте Порядок важен, эти два разные. Это возвращает Шаги выражения разделяются Можно использовать и другие оси. Использовать Находит Находит
children
в журнале команд консоль
Выходы Следующее: См.
Также .NEXT ()
.PAPRENT ()
. Паратели ()
.SIEET ()
99999999.SHEET. Испытательный стенд Xpath
Консоль браузера
$x("//дел")
Селекторы
Селекторы потомков
СС XPath ? h2
//h2
? раздел п
//дел//п
? ул > ли
//ул/ли
? ул > ли > а
//ул/ли/а
дел > *
//дел/*
: корень
/
? :корень > тело
/корпус
Селекторы атрибутов
СС XPath ? #id
//*[@id="id"]
? . класс
//*[@class="class"]
… типа 9='/'] ввод[тип="отправить"]
//a[начинается с(@href, '/')]
? а[href$='pdf']
//a[заканчивается(@href, '.pdf')]
а[href*='://']
//a[содержит(@href, '://')]
а[отн~='помощь']
//a[содержит(@rel, 'помощь')]
…вроде Селекторы заказов
СС XPath ? ul > li:first-of-type
//ул/ли[1]
? ul > li:nth-of-type(2)
//ул/ли[2]
ul > li:последний тип
//ul/li[last()]
li#id:первый в своем роде
//li[1][@id="id"]
? а: первый ребенок
//*[1][name()="a"]
а:последний ребенок
//*[last()][name()="a"]
Братья и сестры
СС XPath ? h2 ~ ul
//h2/следующий-брат::ul
? h2 + ул
//h2/следующий-брат::ul[1]
h2 ~ #id
//h2/следующий-брат::[@id="id"]
jQuery
СС XPath ? $('ul > li'). parent()
//ул/ли/..
? $('li').closest('раздел')
//li/предок-или-я::раздел
$('a').attr('href')
//a/@href
? $('span').text()
//диапазон/текст()
Прочее
СС XPath ? h2: не ([id])
//h2[не(@id)]
? Текстовое совпадение //кнопка[текст()="Отправить"]
? Текстовое совпадение (подстрока) //кнопка [содержит (текст (), "Перейти")]
Арифметика //продукт[@цена > 2,50]
Имеет детей //ул[*]
Есть дети (конкретные) //ул[ли]
или логика //a[@имя или @href]
? Союз (объединяет результаты) //а | //дел
? Проверка класса
//div[содержит(concat(' ',normalize-space(@class),' '),' foobar ')]
Выражения
Ступени и оси
//
ул
/
a[@id='ссылка']
Ось Шаг Ось Шаг Префиксы
Оси
/
. Используйте два ( //
), если вы не хотите выбирать прямых потомков. шагов
//дел
//div[@name='box']
//[@id='ссылка']
div
) и предикаты ( [...]
). Оба являются необязательными.
Это могут быть и другие вещи: //a/text() #=> "Домой"
//a/@href #=> "index.html"
//a/* #=> Все дочерние элементы a
Предикаты
Предикаты
//дел[true()]
// div[@class="голова"]
//div[@class="head"][@id="top"]
Операторы
# Сравнение
//a[@id = "xyz"]
//a[@id != "xyz"]
//a[@price > 25]
# Логика (и/или)
//div[@id="head" и position()=2]
//div[(x и y) или нет(z)]
Использование узлов
# Используйте их внутри функций
//ул[количество(ли) > 2]
//ul[count(li[@class='hide']) > 0]
# Это возвращает `
`, у которого есть дочерний элемент `
Индексация
//a[1] # первый
//a[last()] # последний
//ol/li[2] # секунда
[]
с номером, или last()
или position()
. Порядок объединения
а[1][@href='/']
а[@href='/'][1]
Вложенные предикаты
//раздел[.//h2[@id='привет']]
, если у него есть потомок
с
id='hi'
. Функции
Функции узла
name() # //[начинается с (name(), 'h')]
text() # //кнопка[text()="Отправить"]
# //кнопка/текст()
язык (ул.)
пространство имен-uri()
count() # //таблица[count(tr)=1]
position() # //ol/li[position()=2]
Логические функции
не(выражение) # кнопка[не(начинается с(текст(),"Отправить"))]
Строковые функции
contains() # font[contains(@class,"head")]
начинает-с() # шрифт[начинает-с(@класс,"голова")]
заканчивается-с() # шрифт[заканчивается-с(@класс,"голова")]
конкат (х, у)
подстрока (ул, начало, длина)
substring-before("01/02", "/") #=> 01
подстрока-после("01/02", "/") #=> 02
переводить()
нормализовать пространство ()
длина строки()
Преобразование типа
строка()
число()
логическое()
Оси
Использование осей
//ul/li # ul > li
//ul/child::li # ul > li (то же самое)
//ul/following-sibling::li # ul ~ li
//ul/потомок-или-я::li # ul li
//ul/предок-или-я::li # $('ul'). closest('li')
/
, обычно используемыми для выбора дочерних узлов. Это не всегда так: можно указать другую «ось» с помощью ::
. //
ул
/ребенок::
ли
Ось Шаг Ось Шаг Детская ось
# оба одинаковые
//ул/ли/а
//ребенок::ul/ребенок::li/ребенок::а
child::
— ось по умолчанию. Это заставляет //a/b/c
работать. # оба одинаковые
# это работает, потому что `child::li` является истинным, поэтому предикат выполняется успешно
//ул[ли]
//ул[ребенок::ли]
# оба одинаковые
//ул[количество(ли) > 2]
//ul[count(child::li) > 2]
Ось потомка или себя
# оба одинаковые
//дел//h5
//div/потомок-или-я::h5
//
— это сокращение от оси потомок-или-я::
. # оба одинаковые
//ul//[последний()]
//ul/потомок-или-я::[last()]
Прочие оси
Союзы
//а | //охватывать
|
для объединения двух выражений. Еще примеры
Примеры
//* # все элементы
count(//*) # подсчет всех элементов
(//h2)[1]/text() # текст первого заголовка h2
//li[span] # найти
Найти родителя
//раздел[h2[@id='имя-раздела']]
, который непосредственно содержит h2#section-name
//раздел[//h2[@id='имя-раздела']]
, который содержит h2#section-name
.
(То же, что и выше, но вместо потомка используется потомок или я) Ближайший
.