### Methods

#### parent `HTMLElement parent ( selector, filter )`

获取符合选择器的第一个元素的祖先元素。

filter 可以是自然数、选择器或函数。

    var S = KISSY, DOM = S.DOM,
    elem = S.get('#id');

    // 返回 elem.parentNode
    DOM.parent(elem);

    // 返回 elem.parentNode.parentNode
    DOM.parent(elem, 2);

    // 寻找 elem 的祖先节点，返回第一个拥有 container class 值的祖先
    DOM.parent(elem, '.container');

    // 寻找 elem 的祖先节点，返回第一个 tagName 为 ul 的祖先
    DOM.parent(elem, 'ul');

    // 寻找 elem 的祖先节点，返回第一个 rel 属性为 data 值的祖先
    DOM.parent(elem, function(p) {
    return DOM.attr(p, 'rel') == 'data';
    });

#### next `HTMLElement next ( selector, filter )`

向下获取符合选择器的第一个元素的同级节点。

#### prev `HTMLElement prev ( selector, filter )`

向上获取符合选择器的第一个元素的同级节点。

#### siblings `Array<HTMLElement> siblings ( selector, filter )`

获取符合选择器的第一个元素的同级节点。

#### children `Array<HTMLElement> children ( selector, filter )`

获取符合选择器的第一个元素的所有子节点。

#### contains `Boolean contains ( container, contained )`

判断 container 节点是否包含 contained 节点。

### Examples

测试页面：`test-dom-traversal.html`

dom-traversal 提供的所有方法：

1. 参数 filter 可以是自然数、选择器或函数。
2. setter 和 getter 都遵循 get first, set all 原则：如果是获取，仅获取符合选择器的第一个元素的值；如果是设置，则操作符合选择器的所有元素。

home › dom › dom-traversal :