jQuery中each与data
一:each(for循环)
1.each作用
for循环前面容器类型 将里面的元素交给后面的函数去处理
有了each,就无需自己写for循环了
2.格式
$(容器类型 数组 自定义对象).each(function(索引,标签对象){console.log(索引,标签对象)})
3.注意
函数只能有两个参数
4.第一种方式
$('div')
w.fn.init(10) [div, div, div, div, div, div, div, div, div, div, prevObject: w.fn.init(1)]
5.一个参数index拿到的是索引
each类似于 for循环 前面这个数组 $('div') 将前面元素交给
后面函数去运行(一个参数index拿到的是索引)
$('div').each(function(index){console.log(index)})
VM181:1 0
VM181:1 1
VM181:1 2
VM181:1 3
VM181:1 4
VM181:1 5
VM181:1 6
VM181:1 7
VM181:1 8
VM181:1 9
6.拿到数组里面索引和标签对象
each类似于 for循环 前面这个数组 $('div') 将前面的元素交给后面的函数去运行
function(index,obj)
index : 索引
obj : 当前标签对象
$('div').each(function(index,obj){console.log(index,obj)})
VM243:1 0
1
VM243:1 1
2
VM243:1 2
3
VM243:1 3
4
VM243:1 4
5
VM243:1 5
6
VM243:1 6
7
VM243:1 7
8
VM243:1 8
9
VM243:1 9
10
![image](https://img2022.cnblogs.com/blog/2608805/202202/2608805-20220216233211139-1271058853.png)
7.第二种方式
1.自定义对象
前面可以放 容器类型 数组 自定义对象
for循环前面这个容器类型 将里面的元素交给后面的函数去处理
index 索引 obj 当前循环对象
$.each([111,222,333],function(index,obj){console.log(index,obj)})
VM484:1 0 111
VM484:1 1 222
VM484:1 2 333
(3) [111, 222, 333]
总结:
有了each之后 就无需自己写for循环了 用它更加的方便
二:data(隐型存储)
1.data的作用
能够让标签帮我们临时存储数据 隐性存储 并且用户肉眼看不见!
2.创建data隐性存储
1给前面这个数组所有的对象都加了一个 k: 'info' vlaue: '我原谅你了!' 数据进去了
$('div').data('info','回来吧,我原谅你了!')
w.fn.init(10) [div#d1, div, div, div, div, div, div, div, div, div, prevObject: w.fn.init(1)]
2.拿到第一个标签.data('info')取值
$('div').first().data('info')
"回来吧,我原谅你了!"
3.取最后一个值
$('div').last().data('info')
"回来吧,我原谅你了!"
4.验证取没有的值
$('div').first().data('xxx')
undefined
5.删除第一个标签'info'对应的值 其他的标签属性还有
$('div').first().removeData('info')
w.fn.init [div#d1, prevObject: w.fn.init(10)]
6.第一个标签'info'对应的值不在有了(被删除掉了)
$('div').first().data('info')
undefined
7.验证其他对应的值还存在
$('div').last().data('info')
"回来吧,我原谅你了!"