The value of elParentAttr is 'level4' the first time traverseUp is called but every time after is null. Why is this? 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');
Document:
<div class="level1">
<div class="level2">
<div class="level3">
<div class="level4">
<div class="level5"></div>
</div>
</div>
</div>
</div>