《前端》jQuery-each遍历用法
定义和语法
each() 方法规定为每个匹配元素规定运行的函数。遍历一维数组、多维数组、DOM, JSON 等等,
提示:返回 false 可用于及早停止循环。
$(selector).each(function(index,val));
$.each(遍历主体, function (index, val) { });//在纯js中,没有选择器,用到语法
function(index,val)--必选参数。为每个匹配元素规定运行的函数。
- index - 选择器的 当前索引,
- val- 当前的元素值(也可使用 "this" 选择器)
例子:
1、依次输出
- Coffee
- Milk
- Soda
这里$(this).text(),我之前没有写$,应是this属于dom对象,应该转成jQuery格式吧。
2、each处理一维数组:
var arr = ["aa", "bb", "cc"];$.each(arr, function (i, val) {alert(i);//=>0,1,2alert(val);// =>aa,bb,cc});
3、each处理二维数组
var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]$.each(arr2, function (i, item) {alert(i);//=>0,1,2alert(item);//=>['a','aa','aaa'],['b','bb','bbb'],['c','cc','ccc']});
arr2为一个二维数组,item相当于取这二维数组中的每一个数组。item[0]相对于取每一个一维数组里的第一个值.
alert(i)将输出为0,1,2,因为这二维数组含有3个数组元素
4、each处理将二维数组每个值都取出来
var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]$.each(arr, function (i, item) {$.each(item, function (j, val) {alert(j);//=>0,1,2,0,1,2alert(val);//=>a,aa,aaa,b,bb,bbb,c,cc,ccc});});
5、each处理json数据,这个each就有更厉害了,能循环每一个属性
var obj = { one: 1, two: 2, three: 3 };$.each(obj, function (key, val) {alert(key);//=>one two threealert(val);//=>1,2,3});
6、ecah处理dom元素,此处以一个input表单元素作为例子。
$.each($("input:hidden"), function(i,val){ alert(val);alert(i);alert(val.name);alert(val.value); });
alert(val)将输出[object HTMLInputElement],因为它是一个表单元素。
alert(i)将输出为0,1,2,3
alert(val.name);将输出aaa,bbb,ccc,ddd,如果使用this.name将输出同样的结果
alert(val.value); 将输出111,222,333,444,如果使用this.value将输出同样的结果
其他的遍历函数:(筛选、查找和串联元素)
| 函数 | 描述 |
|---|---|
| .add() | 将元素添加到匹配元素的集合中。 |
| .andSelf() | 把堆栈中之前的元素集添加到当前集合中。 |
| .children() | 获得匹配元素集合中每个元素的所有子元素。 |
| .closest() | 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。 |
| .contents() | 获得匹配元素集合中每个元素的子元素,包括文本和注释节点。 |
| .each() | 对 jQuery 对象进行迭代,为每个匹配元素执行函数。 |
| .end() | 结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。 |
| .eq() | 将匹配元素集合缩减为位于指定索引的新元素。 |
| .filter() | 将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。 |
| .find() | 获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。 |
| .first() | 将匹配元素集合缩减为集合中的第一个元素。 |
| .has() | 将匹配元素集合缩减为包含特定元素的后代的集合。 |
| .is() | 根据选择器检查当前匹配元素集合,如果存在至少一个匹配元素,则返回 true。 |
| .last() | 将匹配元素集合缩减为集合中的最后一个元素。 |
| .map() | 把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象。 |
| .next() | 获得匹配元素集合中每个元素紧邻的同辈元素。 |
| .nextAll() | 获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。 |
| .nextUntil() | 获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。 |
| .not() | 从匹配元素集合中删除元素。 |
| .offsetParent() | 获得用于定位的第一个父元素。 |
| .parent() | 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。 |
| .parents() | 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。 |
| .parentsUntil() | 获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。 |
| .prev() | 获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。 |
| .prevAll() | 获得匹配元素集合中每个元素之前的所有同辈元素,由选择器进行筛选(可选)。 |
| .prevUntil() | 获得每个元素之前所有的同辈元素,直到遇到匹配选择器的元素为止。 |
| .siblings() | 获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。 |
| .slice() | 将匹配元素集合缩减为指定范围的子集。 |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
