Показать сообщение отдельно
  #25 (permalink)  
Старый 20.03.2013, 15:15
Интересующийся
Отправить личное сообщение для Godwar Посмотреть профиль Найти все сообщения от Godwar
 
Регистрация: 15.03.2013
Сообщений: 19

Обнаружил любопытную деталь.
когда выполняется скрипт
<script>
	    (function(){
        var hash = location.hash.substring(1);
	        if (hash) {
	            var element = document.querySelector('.' + hash);
	            if (element) {
	                element.click();
	            }
	        }
	    })();
</script>


то уже на строке <if (element)> дебаггер показывает в строке <element.click();> инициализированную переменную "element" как "a.standart_order"
а скрипт a.standart_order.click() через консоль, естесственно, не работает. А вот document.querySelector('.standart_order').click() через консоль работает.

Поэтому я пределал скрипт на такой:
<script type="text/javascript">
	(function(){
	    var hash = location.hash.substring(1);
	    if (hash) {
	        var element = ('.' + hash);
	        if (element) {
	            document.querySelector('element').click();
	        }
	    }
	})();
</script>


Тогда в строке <document.querySelector('element').click();> переменная "element" выглядит как ".standart_order"

Но при этом вываливается ошибка:

TypeError: document.querySelector(...) is null
(?) /checkout/ (строка 782)
() /checkout/ (строка 777)
document.querySelector('element').click(); /checkout/ (строка 782)
Ответить с цитированием