2015-07-29 2 views
0

Можно ли решить мою проблему с моим кодом (я только что обнаружил его из режима отладки)TypeError: morphSearch.querySelector (...) является нулевым

<script type="text/javascript"> 
    (function() { 
     var morphSearch = document.getElementById('morphsearch'), 
      input = morphSearch.querySelector('input.morphsearch-input'), 
      ctrlClose = morphSearch.querySelector('span.morphsearch-close'), 
     // ... 
</script> 

Это не весь код, который у меня есть, это долго, поэтому я просто положил первые строки.

В режиме отладки я получаю эту ошибку:

TypeError: morphSearch.querySelector(...) is null

Вот сгенерированные разметки: http://pastebin.com/P6tfvcZS

Есть ли решение этой проблемы?

+2

Возможно, это поможет обеспечить HTML и немного больше кода. Необходимо проверить, существует ли элемент с id = morphsearch. – WhiteHat

+0

'.querySelector()' возвращает 'null', если элемент не существует (по крайней мере,' document.querySelector() 'работает так) – kosmos

+0

dear @WhiteHat это моя страница php http://pastebin.com/ P6tfvcZS –

ответ

0

нашел это ...

var offsets = morphsearch.getBoundingClientRect(); 

morphSearch неправильный случай, я думаю, это должно быть ...

var offsets = morphSearch.getBoundingClientRect(); 

Я также отделенный ваши var заявления. Последний выглядел так ...

isOpen = isAnimating = false, 

Я не думаю, что , действительный, попробовать, как это.

var morphSearch = document.getElementById('morphsearch'); 
    var input = morphSearch.querySelector('input.morphsearch-input'); 
    var ctrlClose = morphSearch.querySelector('span.morphsearch-close'); 
    var isOpen = false; 
    var isAnimating = false; 

Те querySelector «s, кажется, работает ...

На самом деле, сторона из вышесказанного, я думаю, я нашел только querySelector, что не работает.

Попробуйте изменить это ...

morphSearch.querySelector('button[type="submit"]').addEventListener('click', function(ev) { ev.preventDefault(); }); 

К ...

morphSearch.querySelector('input.morphsearch-submit').addEventListener('click', function(ev) { ev.preventDefault(); }); 

Все, что должны это сделать.

+0

Я пробовал ваш совет, но все та же ошибка! (Я использую этот код в своей теме Wordpress) –

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