Extending HTMLElement

Extending HTMLElement

本文关键字:HTMLElement Extending      更新时间:2023-09-26

使用jQuery可以执行以下操作:$("div")[5].animate()

在我看来,这在某种程度上就像开发人员使用prototype扩展了HTMLElement

我现在的问题是:他们是怎么做到的?例如,由于HTMLElement.prototype在IE中不起作用,我想知道是否有一种跨浏览器的方法来原型HTML元素。

谢谢!

你不能在IE中扩展这些东西;IE只是没有以这种方式实现DOM接口。这就是为什么Prototype强制您使用这些附加方法"包装"要操作的元素。

jQuery工厂函数(jQuery()$()(不返回DOM节点

jQuery工厂函数返回一个新的jQuery.init实例,它的作用与数组非常相似。与其扩展任何DOM节点的原型,不如简单地向jQuery.fn 添加更多功能

如果函数链接在jQuery选择器上,它通常应用于jQuery.init实例中包含的所有元素。

我强烈建议您通读评论中的jQuery源代码,这样您就可以确切地了解幕后发生了什么。

注意$('#book') !== document.getElementById('book')
第一个是一个jQuery对象,它引用了一个dom元素并可以扩展,而第二个实际上是一个dom元件。