Documentation
REFERENCE
Selector.parent Method
Selects parent elements.
Syntax #
parent #
Selector().parent() → Selector
Finds the parents of all nodes in the matched set (first element in the set is the closest parent).
parent(index) #
Selector().parent(index) → Selector
Finds the parents of all nodes in the matched set and filters them by index.
Argument | Type | Description |
---|---|---|
index |
Number | The zero-based index (0 is the closest parent). If index is negative, the index is counted from the end of the matched set. |
parent(cssSelector) #
Selector().parent(cssSelector) → Selector
Finds the parents 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. |
parent(filterFn, dependencies) #
Selector().parent(filterFn [, dependencies]) → Selector
Finds the parents of all nodes in the matched set and 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 ancestors of all ul elements.
Selector('ul').parent();
// Selects all closest parents of all input elements.
Selector('input').parent(0);
// Selects all furthest ancestors of all labels.
Selector('label').parent(-1);
// Selects all divs that are ancestors of an 'a' element.
Selector('a').parent('div');
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 });