.trav()
Syntax Variants
Parameters
- selector (optional)
- any selector valid for
$(), including CSS selectors and lists.
Selectors are optimized for '*', '.classname', 'tagname' and 'tagname.classname'. The performance for other selectors is relative to the number of matches for the selector in the document. Default is '*', which includes all elements (but no other nodes such as text nodes). - filterFunc
- a
function(node)returning true for those nodes that match. - maxDepth (optional)
- the maximum number of steps to traverse. Defaults to unlimited.
- (return value)
- the new list containing all visited nodes. Nodes of the original list are not included, unless they have been visited when traversing another node. Duplicate nodes will be automatically removed.
Description
Traverses each DOM node in the list using the given property; creates a new list that includes each visited node, optionally filtered by the given selector.
trav() traverses the DOM tree for each list element until it finds a null. All visited nodes that match the given selector are added to the result list. If no selector is given, only elements will be added. Duplicates will be automatically be removed from the resulting list.
Instead of the selector, you can also specify a function that evaluates whether an element matches.
DOM provides the following properties for traveral:
| firstChild | Contains the first child. |
|---|---|
| firstElementChild | Contains the first element (not in IE < 9). |
| lastChild | Contains the last child element. |
| lastElementChild | Contains the last child element (not in IE < 9). |
| nextElementSibling | Contains the element that follows the current node (not in IE < 9). |
| nextSibling | Contains the node that follows the current node (see also next() ). |
| parentNode | Contains the node's parent (see also up() ). |
| previousElementSibling | Contains the element that precedes the current node (not in IE < 9). |
| previousSibling | Contains the node that precedes the current node. |
Example
Returns a list of all parent nodes, direct and indirect:
var parents = $('.myElements').trav('parentNode');
Example
Returns a list of all direct siblings of the original list:
var parents = $('.sibs').trav('nextSibling', '*', 1);
Example
Returns a list of all parent nodes, direct and indirect, that have the class 'specialParent':
var parents = $('.myElements').trav('parentNode', '.specialParent');
Example
Returns a list of all direct parent nodes that are tables and have the class 'specialParent':
var parents = $('.myElements').trav('parentNode', 'table.specialParent', 1);
See also..
up()finds exactly one parent element that matches a selector.next()finds one or more siblings that match a selector.
Comments
comments powered by DisqusFunctions
- $() Web
- list.length Web, Util
- $$() Web
- $.getCookie()
- $.loop() Web
- $.off() Web
- $.parseJSON() Web
- $.ready() Web
- $.request() Web
- $.setCookie()
- $.toJSON() Web
- $.wait()
- .add() Web
- .addAfter() Web
- .addBefore() Web
- .addFront() Web
- .animate() Web
- .array() Util
- .call() Util
- .clone() Web
- .collect() Web, Util
- .contains() Util
- .dial() Web
- .each() Web, Util
- .endsWith() Util
- .equals() Util
- .fill() Web
- .filter() Web, Util
- .find() Web, Util
- .findLast() Web, Util
- .get() Web
- .hide() Web
- .ht()
- .intersection() Util
- .is() Web
- .join() Util
- .map() Util
- .merge() Util
- .next() Web
- .not() Web
- .offset()
- .on() Web
- .onChange() Web
- .onClick() Web
- .onFocus() Web
- .onOver() Web
- .only()
- .per() Util
- .reduce() Util
- .remove() Web
- .replace() Web
- .reverse() Util
- .select() Web
- .set() Web
- .show() Web
- .sort() Util
- .startsWith() Util
- .sub() Web, Util
- .text() Web
- .toObject() Util
- .toggle() Web
- .trav() Web
- .trigger() Web
- .uniq() Util
- .unite() Util
- .up() Web
- .values() Web
- EE() Web
- HTML() Web
- M Web, Util
- MINI.getter Web
- MINI.setter Web
- Minified Lists Web, Util
- Promise Web, Util
- _() Util
- _.bind() Util
- _.copyObj() Util
- _.dateAdd() Util
- _.dateClone() Util
- _.dateDiff() Util
- _.dateMidnight() Util
- _.eachObj() Util
- _.escapeHtml() Util
- _.escapeRegExp() Util
- _.extend() Util
- _.filterObj() Util
- _.format() Util
- _.formatHtml() Util
- _.formatValue() Util
- _.isBool() Util
- _.isDate() Util
- _.isEmpty() Util
- _.isFunction() Util
- _.isList() Util
- _.isNumber() Util
- _.isObject() Util
- _.isString() Util
- _.isValue() Util
- _.keys() Util
- _.mapObj() Util
- _.pad() Util
- _.parseDate() Util
- _.parseNumber() Util
- _.partial() Util
- _.promise()
- _.range()
- _.template() Util
- _.toString() Util
- _.trim() Util
- _.values() Util
- define() Web, Util
- promise.always()
- promise.error() Web, Util
- promise.fire()
- promise.stop()
- promise.then() Web
- require() Web, Util
- How to...