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