遍历搜索属性

时间:2016-03-27 00:15:03

标签: javascript traversal tree-traversal

我有一个包含两个方法traverseup()的{​​{1}}对象,这些方法的目标是在html中向上或向下循环,寻找第一次出现的特定down() 1}}如果找到则返回该元素。

"具体" dataset-attribute作为参数传递给方法,例如我们有dataset-attributedata-up

data-down

现在遍历方法var o1 = traverse.up(e.target,'up'); var o2 = traverse.down(e.target,'down'); 工作正常,因为parentNode与单击的元素(e.target)是一对一的关系,但是我的问题是当单击元素时尝试向下遍历(e .target)可能有多个孩子,我需要遍历每个孩子及其孩子等...搜索traverse.up(e.target,'up')属性。

问题:为什么我的dataset-down方法不会返回第一次出现带有traverse.down(e.target,'down')属性的HTML元素?

以下是JSFiddle演示

// HTML

dataset-down

// JS

<body>
    <div id='black'>
        <div id='red' data-up='upwards'>
            <div id='blue'>
                <div id='green'>
                    <div id='yellow'></div>
                    <div id='royalblue' data-down='downwards'></div>
                    <div id='fuscia'></div>
                </div>
            </div>
        </div>  
    </div>
</body>

1 个答案:

答案 0 :(得分:1)

这样的事情:

<nav id="main-nav">
    <a href="#p1"  id="p1" class="current"><div>OPTION - 1</div></a>
    <a href="#p2" id="p2"><div>OPTION - 2</div></a>
    <a href="#p3" id="p3"><div>OPTION - 3</div></a>
    <a href="#p4" id="p4"><div>OPTOIN - 4</div></a>
    <a href="#p5" id="p5"><div>OPTION - 5</div></a>       
</nav>