Не срабатывает на установленный атрибут onclick
Всем привет.
Возникла проблема. есть такой код. function l_goto(){ window.location.href='http://ya.ru'; return false; } function set_Attribute(){ var ul = document.getElementById('block-quicktabs-8'); var array_elements = ul.getElementsByTagName('ul')[0].getElementsByTagName('li'); var i = 0; while(i < array_elements.length){ array_elements[i].id = 'id_' + i; if(i == 4){ array_elements[i].style.marginLeft = '102px'; var a_elem = array_elements[i].getElementsByTagName('a'); var value = 'http://ya.ru'; a_elem[0].setAttribute('onclick', 'return l_goto()'); //array_elements[i].setAttribute('onclick', 'alert(something)'); } i++; } } в IE 7 не срабатывает переход по ссылке. судя по статье http://javascript.ru/start/dom/intro#dom-atributy в частности части: Атрибуты и обработчики событий В IE текстовое значение, присвоенное атрибуту onclick, не является функцией и не будет работать: elem.setAttribute('onclick', 'alert(something)') // в IE не работает Firefox корректно преобразовывает строку в функцию, поэтому там этот фрагмент работать будет. Но, вообще говоря, никакой браузер не обязан этого делать. -- Но очень нужно сделать переход подобным образом. просто задать атрибут href для ссылки нельзя. блокируется модулем(Drupal 6 модуль для табуляции). |
Забудьте о setAttribute и getAttribute, работайте с ссылками на узлы, как с обычными объектами:
elem.onclick = function() { alert(something); }; |
Часовой пояс GMT +3, время: 05:29. |