- jQuery方法获取的元素就是jQuery对象;
- jQuery对象本质是:利用$对DOM对象包装后产生的对象(jquery对象就是伪数组,存储的是一个一个的DOM对象)
含义:
隐式迭代:
遍历内部DOM元素(伪数组形式存储)的过程。
简单理解:
给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。
-
遍历jQuery对象内部 DOM元素(伪数组形式存储)的过程就叫隐式迭代
简单理解:给匹配的所有元素进行循环遍历,执行相应的方法,而不是我们再进行循环,简化我们的操作,方便我们的调用。
<body>
<div>测试</div>
<div>测试</div>
<div>测试</div>
<div>测试</div>
<ul>
<li>相同的操作</li>
<li>相同的操作</li>
<li>相同的操作</li>
</ul>
<script>
// 1. 获取四个div元素
console.log($("div"));
// 2. 给四个div设置背景颜色为粉色 jquery对象不能使用style
$("div").css("background", "pink");
// 3. 隐式迭代就是把匹配的所有元素内部进行遍历循环,给每一个元素添加css这个方法
$("ul li").css("color", "red");
</script>
</body>
另一种相同的说法:
Jquery对象本质可以看成是一个包含一个 dom数组和所有Jquery方法的容器(补充:方法在所有jq对象共享的jq原型属性prototype中)。
要使用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 中共享。