Всем привет.
Возникла проблема.
есть такой код.
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 модуль для табуляции).