Я делаю букмарклет, но столкнулся со странным поведением в IE8. Код, вызывающий проблему, таков:
var els = document.getElementById("my_id").getElementsByTagName("*");
for(var i in els)
{
alert(i+","+els[i])
}
Первое, что настораживает, это длина, n. В хроме такого нет: только в IE8.
Интересно, что он ведет себя по-разному в зависимости от того, находится ли код в консоли/адресной строке или на самой странице.
Это стандартное поведение?
РЕДАКТИРОВАТЬ:
Не вплоть до веб-сайта, на котором я его запускаю. Возможно ли, что getElementsByTagName
возвращает массив с ключом "length"
, установленным в IE? Он, конечно, не возвращает чистый массив.