2015-07-07 3 views
2

Я получаю эту ошибку в инструментах разработчика Chrome, но на странице не вижу никаких ошибок.Ошибка Javascript - не удается вызвать метод appendChild из null (svgicons)

Вот короткий отрывок из JS:

function svgIcon(el, config, options) { 
     this.el = el; 
     this.options = extend({}, this.options); 
     extend(this.options, options); 
     this.svg = Snap(this.options.size.w, this.options.size.h); 
     this.svg.attr('viewBox', '0 0 64 64'); 
     this.el.appendChild(this.svg.node); 
     // state 
     this.toggled = false; 
     // click event (if mobile use touchstart) 
     this.clickevent = mobilecheck() ? 'touchstart' : 'click'; 
     // icons configuration 
     this.config = config[ this.el.getAttribute('data-icon-name') ]; 
     // reverse? 
     if(hasClass(this.el, 'si-icon-reverse')) { 
      this.reverse = true; 
     } 
     if(!this.config) return; 
     var self = this; 

Я считаю, что этот код не говорит много, поэтому страница может быть найдена здесь: http://goo.gl/j7M5r8

Я попытался решить эту проблему, глядя на другие подобные случаи на Stackoverflow, и он указывает, что есть что-то отсутствует или что-то в том порядке, в котором он читается/записывается.

Я не написал svgicons.js, поэтому не должно быть никаких проблем с ним. Однако я вижу, что у некоторых есть те же проблемы, что и у меня, но на эту проблему не объяснено и не ответили. Here is basically the same question from another person.

Соответствующие файлы:

http://goo.gl/0RisGa

http://goo.gl/UgWHMS

http://goo.gl/X269NO

+0

Возможный дубликат [Как исправить "Uncaught TypeError: Невозможно вызвать метод appendChild из null"] (http://stackoverflow.com/questions/14946428/how-to-fix- uncaught-typeerror-can not-call-method-appendchild-of-null) – Stijn

+3

вместо того, чтобы идти на сайт, позвольте мне спросить, как вы называете функцию 'svgIcon' –

+0

Благодарим вас за комментирование. Вы имеете в виду призыв? Incase: 'window.svgIcon = svgIcon;' Из моих незначительных знаний о JS я не уверен, что это то, о чем вы говорите. Я прошу прощения. – Olen

ответ

1

Проверьте файл hamburger_animations.js - это в http://www.vekvemedia.no/wp-content/themes/vekvemedia/js/hamburger_animation.js

(function() {       
    [].slice.call(document.querySelectorAll('.si-icons-default > .si-icon')).forEach(function(el) { 
     var svgicon = new svgIcon(el, svgIconConfig); 
    }); 
    new svgIcon(document.querySelector('.si-icons-easing .si-icon-hamburger'), svgIconConfig, { easing : mina.backin }); 
    new svgIcon(document.querySelector('.si-icons-easing .si-icon-hamburger-cross'), svgIconConfig, { easing : mina.elastic, speed: 600    }); 
    })(); 

document.querySelector('.si-icons-easing .si-icon-hamburger') приводит к нулю

+0

Благодарим за комментирование. Я действительно пытался удалить эту строку прямо сейчас, если бы мог получить какие-либо различия, но нет, все еще ошибка ... – Olen

+0

удалите следующую строку, у вас нет элемента с si-icon-easing класса, так что обе эти линии querySelector будут fail –

+0

Хорошо, спасибо. Впечатляюще, как быстро вы можете решать вопросы. Еще раз спасибо :) – Olen

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