当attribute具有值时,element.getAttribute()返回null

时间:2015-02-02 15:18:40

标签: javascript dom

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>

1 个答案:

答案 0 :(得分:4)

当您使用循环调用它时,您是否错过了第二个参数?

traverseUp(elParent);traverseUp(elParent, attr);