Uncaught TypeError: Cannot read property 'setAttribute' of null

Рейтинг: 1Ответов: 1Опубликовано: 02.04.2015

В коде происходит ошибка Uncaught TypeError: Cannot read property 'setAttribute' of null не могу понять почему. Помогите, пожалуйста, найти решение.

 /*
  * Sub menu "More" for main menu
  * */
  var main_menu = document.querySelector('.layout_core_menu_main .navigation');
  if(document.querySelector('.layout_core_menu_main .navigation')){
    var main_menu_items = main_menu.querySelectorAll('li');
    var l = main_menu_items.length;
    var maxCountShow = 7;
    if(l > maxCountShow) {
      var subMenu = document.createElement('ul');
      for(var i = maxCountShow; i < l; i ++) {
        var item = main_menu_items[i];
        subMenu.appendChild(item);
      }
      var more = item.cloneNode(true);
      var more_a = more.querySelector('a');
      more_a.setAttribute('href', 'javascript://');  // В этой строчке ошибка
      more_a.setAttribute('class', 'menu_core_main core_main_more');
      more_a.innerHTML = 'More <i class="hei hei-angle-down hei-lg"></i>';
      more.appendChild(subMenu);
      main_menu.appendChild(more);
    }
  }

Ответы

▲ 1

На момент выполнения скрипта в элементе more нет элементов <a>

(скорее всего в одном из элементов меню нет ссылки)