Jquery对象本质和隐式迭代

Jquery对象本质“可以看成”是一个包含一个 dom数组和所有Jquery方法的容器(补充:方法在所有jq对象共享的jq原型属性prototype中,jq对象本质是一个“类数组”)。

要使用Jquery,就必须将dom元素转成 Jquery对象,然后才能调用JQ对象的 便捷方法。

1 //所有 div 内部设置一个 span 标签
2 var $divs = $("div");
3 $divs.html("<span>广州小蛮腰</span>");

每当我们调用选择器方法查找dom树里的元素时,其实就是把找到的dom元素存入一个JQ对象里的dom数组中,然后再把这个JQ对象返回。

当我们调用Jquery方法时(如 html()),jq方法会遍历内部 dom数组,并调用每个dom元素的对应的dom属性或方法(如innerHTML),完成操作。

其中Jq方法遍历内部dom数组的过程就叫做【隐式迭代】。

【图例】

补充:每个Jq对象的方法都是从 Jquery函数的 prototype 中共享。此文主要是方便初学者理解JQ对象。

 

posted on 2013-04-14 15:19  邹华栋  阅读(3202)  评论(4编辑  收藏  举报