У меня есть функция Javascript, которая принимает список узлов HTML, но ожидает массив Javascript (на нем он запускает некоторые методы Array), и я хочу передать ему вывод Document.getElementsByTagName
, который возвращает DOM node список.
Первоначально я думал использовать что-то простое:
Array.prototype.slice.call(list,0)
И это прекрасно работает во всех браузерах, за исключением, конечно, Internet Explorer, который возвращает ошибку "ожидаемый объект JScript", поскольку, по-видимому, список DOM node, возвращаемый методами Document.getElement*
, не является объектом JScript, достаточным для того, чтобы быть целью вызова функции.
Предостережения: я не против писать специальный код Internet Explorer, но мне не разрешено использовать любые Javascript-библиотеки, такие как JQuery, потому что я пишу виджет, который будет встроен в сторонний веб-сайт, и я не могу загрузить внешние библиотеки, которые создадут конфликт для клиентов.
Мое последнее стремление - перебрать список DOM node и создать массив самостоятельно, но есть ли лучший способ сделать это?