IE only> <script> > var a=["aga","ogo","xexe"]; > > window.onload=function(){ > document.body.setAttribute("kuku",a); > var q=document.body.getAttribute("kuku"); > alert(q[2]) > } > </script> > > Я так понимаю, что указатели вообще-то нетипизированы, поэтому element.attributes[x] может указывать не на AttributeNode, а на все что хочешь.
Еще раз о сути проблемы: проблема не в указателях Javascript, а атрибутах DOM. Согласно стандарту там может быть только строка. Поэтому setAttribute(), вообще говоря, должна конвертировать второй параметр в строку. Наверное, не надо объяснять, что при этом получается (например, "[object Object]"). Мозилла так и работает. Вся информация при этом теряется, так что написать прямо, как я в примере показал, нельзя. Твой пример печатает "a" - превратили массив в строку - просто взяли "ага", потом взяли символ с индексом 2. Работает как ты задумал в только в IE.
Блин, удобно было бы уметь явно переключать режим атрибутов - DOM строки они или javascript объекты, и чтобы это везде работало. :) |