elParentAttr
的值'level4'
是第一次traverseUp
被调用,但每次都是null
。为什么是这样?小提琴here。
JavaScript的:
function traverseUp(el, attr) {
var elParent = el.parentNode,
elParentAttr = el.parentNode.getAttribute(attr);
console.log(elParent);
console.log(elParentAttr);
traverseUp(elParent);
}
traverseUp((document.getElementsByClassName('level5'))[0], 'class');
文件:
<div class="level1">
<div class="level2">
<div class="level3">
<div class="level4">
<div class="level5"></div>
</div>
</div>
</div>
</div>
答案 0 :(得分:4)
当您使用循环调用它时,您是否错过了第二个参数?
从traverseUp(elParent);
到traverseUp(elParent, attr);
?