我有一个包含两个方法traverse
和up()
的{{1}}对象,这些方法的目标是在html中向上或向下循环,寻找第一次出现的特定down()
1}}如果找到则返回该元素。
"具体" dataset-attribute
作为参数传递给方法,例如我们有dataset-attribute
和data-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>
答案 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>