Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   setAttribute dont work in IE7 (https://javascript.ru/forum/events/1567-setattribute-dont-work-ie7.html)

february 14.08.2008 18:59

setAttribute dont work in IE7
 
video это массив
for (var i = 0; i < video.length; i ++)
{
    var div = document.createElement('div');

    div.setAttribute('id', 'type_' + i);
    div.setAttribute('class', 'type');
    div.setAttribute('onclick', 'selectType(' + i + ')');

    div.appendChild(document.createTextNode(video[i].title));
    div.appendChild(document.createElement('br'));
    div.appendChild(document.createTextNode(video[i].price));

    select.appendChild(div);
}


В ФФ работает как часики, в ИЕ попусту игнорирует строки setAttribute,
буду признателен, если кто нить объяснить мне в чём проблема.
Спасибо.

Kolyaj 14.08.2008 19:06

div.id = 'type_' + i;
div.className = 'type';
div.onclick = (function(i) { return function() { selectType(i); } })(i);

february 14.08.2008 19:19

Kolyaj, спсибо, до этого к сожалению додумался сам, но кажется не красивым решением, хотя и решением, и onclick по другому, хотя мошт и неправильно
onclick = function(){ selectType(i); };


Но всё же интересно почему самый принастоящий DOM не канает в ИЕ, и можно ли эту проблему решить, что бы во всех браузерах использовать столь красивые setAttribute ;)?

Kolyaj 14.08.2008 19:42

http://xpoint.ru/know-how/JavaScript/Atributyi?8

А onclick так нельзя, т.к. i изменит значение на момент выполнения функции.

february 14.08.2008 19:51

спасибо, за оперативность и за линк, премного благодарен!!!
ПС - про онклик так и подумал )


Часовой пояс GMT +3, время: 02:47.