Не срабатывает на установленный атрибут 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, время: 20:49. |