element.getAttribute() returns null 当属性有值时

element.getAttribute() returns null when attribute has value

第一次调用 traverseUpelParentAttr 的值是 'level4',但之后每次都是 null。为什么是这样? Fiddle 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>

你在循环调用的时候,是不是少了第二个参数?

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