2015-02-02 4 views
0

Значение elParentAttr - это 'level4' при первом вызове traverseUp, но каждый раз после него null. Почему это? Скрипт here.element.getAttribute() возвращает значение null, когда атрибут имеет значение

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> 

ответ

4

Когда вы вызываете его с петлей, вы не пропуская второй параметр?

от traverseUp(elParent); до traverseUp(elParent, attr);?

+0

Да. Вот и все. Спасибо! – maxhallinan

+0

@maxhallinan Нет проблем, не забывайте зеленый галочку :) –

Смежные вопросы