我有一个 Javascript 函数,它接受一个 HTML 节点列表,但它需要一个 Javascript 数组(它在上面运行一些 Array 方法),我想向它提供Document.getElementsByTagName
返回 DOM 节点列表的输出。
最初我想使用一些简单的东西,比如:
Array.prototype.slice.call(list,0)
这在所有浏览器中都可以正常工作,当然 Internet Explorer 会返回错误“预期的 JScript 对象”,因为显然Document.getElement*
方法返回的 DOM 节点列表不是一个足以成为函数调用目标的 JScript 对象。
警告:我不介意编写 Internet Explorer 特定的代码,但我不允许使用任何 Javascript 库,例如 JQuery,因为我正在编写一个嵌入到 3rd 方网站的小部件,并且我无法加载外部库会给客户造成冲突。
我最后的努力是遍历 DOM 节点列表并自己创建一个数组,但有没有更好的方法来做到这一点?