Не могу понять, ошибки не вывовид, но интуитивно я вроде бы понимаю. Решил заменить функцию """" на getEl(свою) и получается так, что все работает, кроме поиска элемента по ID.
Вот моя ф-ция по поиску элемента:
var getEl = function( selector ) {
if( selector.indexOf( '#' ) + 1 ) {
selector = selector.replace( /#/g, '' );
return document.getElementById( selector );
} else if ( selector.indexOf( '.' ) + 1 ) {
selector = selector.replace( /\./g, '' );
return document.getElementsByClassName( selector );
} else {
return document.getElementsByTagName( selector );
}
}
У Вас было реализовано вот так:
...
forEach(document.querySelectorAll(selector), function(element, index){
...
Я это
document.querySelectorAll(selector) заменил на это
getEl(selector) и после этого перестал работать поиск по id, хотя ошибки не выводит. По идеи, то у Вас там идет поиск сразу по массиву, но id возвращает один элемент и массива нет, но это предположение..
ps
а причина замены из-за того, что поддержка этого метода идет от ie8, прочитал у Вас на форуме.