Documentation
REFERENCE
Selector.sibling Method
Selects sibling elements.
Syntax #
sibling #
Selector().sibling() → Selector
Finds the sibling elements of all nodes in the matched set.
sibling(index) #
Selector().sibling(index) → Selector
Finds the sibling elements of all nodes in the matched set and filters them by index.
Argument | Type | Description |
---|---|---|
index |
Number | The zero-based index. Elements are indexed as they appear in their parents' childNodes collections. If index is negative, the index is counted from the end of the matched set. |
sibling(cssSelector) #
Selector().sibling(cssSelector) → Selector
Finds the sibling elements of all nodes in the matched set and uses a CSS selector to filter them.
Argument | Type | Description |
---|---|---|
cssSelector |
String | The CSS selector string used to filter child elements. |
sibling(filterFn, dependencies) #
Selector().sibling(filterFn [, dependencies]) → Selector
Finds the sibling elements of all nodes in the matched set uses a predicate to filter them.
Argument | Type | Description |
---|---|---|
filterFn |
Function | The predicate used to filter the elements. |
dependencies (optional) |
Object | Functions, variables, or objects passed to the filterFn function. |
See Filtering DOM Elements by Predicates.
Examples #
// Selects all siblings of all td elements.
Selector('td').sibling();
// Selects all li elements' siblings
// that go first in their parent's child lists.
Selector('li').sibling(0);
// Selects all ul elements' siblings
// that go last in their parent's child lists.
Selector('ul').sibling(-1);
// Selects all p elements that are siblings of an img element.
Selector('img').sibling('p');
Filtering DOM Elements by Predicates #
Functions that search for elements in the DOM tree allow you to use a filterFn
predicate to filter the matched set.
The filterFn
predicate is executed on the client side and accepts the following parameters:
Parameter | Description |
---|---|
node |
The current matching node. |
idx |
A matching node's zero-based index. |
originNode |
A node from the left-hand selector's matched set whose parents/siblings/children are being iterated. |
Selector('section').prevSibling((node, idx, originNode) => {
// node === the <section>'s preceding sibling node
// idx === index of the current <section>'s preceding sibling node
// originNode === the <section> element
});
The dependencies parameter allows
you to pass objects to the filterFn
client-side scope where they appear as variables.
const isNodeOk = (node, idx, originNode) => { /*...*/ };
Selector('ul').prevSibling((node, idx, originNode) => {
return isNodeOk(node, idx, originNode);
}, { isNodeOk });