Показать сообщение отдельно
  #7 (permalink)  
Старый 17.05.2012, 18:12
Интересующийся
Отправить личное сообщение для celkabelka Посмотреть профиль Найти все сообщения от celkabelka
 
Регистрация: 16.05.2012
Сообщений: 10

Не могу понять, ошибки не вывовид, но интуитивно я вроде бы понимаю. Решил заменить функцию """" на 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, прочитал у Вас на форуме.
Ответить с цитированием