站长资讯网
最全最丰富的资讯网站

jQuery中如何进行遍历?几种遍历方式浅析

jQuery中如何进行遍历?下面本篇文章就来给大家分享几种jQuery遍历对象的方式,希望对大家有所帮助!

jQuery中如何进行遍历?几种遍历方式浅析

jQuery遍历的几种方式

我们都知道js 的遍历方式为: for(初始化值;循环结束条件;步长) 例如:

 for (var i = 0; i < 3; i++) {//循环体}

jQuery遍历大概有如下几种用法:

1. jq对象.each(callback) 或 选择器.each(callback)【推荐学习:jQuery视频教程】

callback的返回值最后再做说明

1.1. 回调函数不带参数 (*注意:这种不带参数的回调只能获取到集合中的每一个元素对象,而不能获取到相应索引值,且只能通过this来获取对象)

->语法: jquery对象.each(function(){});

//html <ul id="course">     <li>js</li>     <li>java</li>     <li>C++</li>     <li>jq</li> </ul>
//实例 $("button").click(function(){   $("#course li").each(function(){     alert($(this).html());//jq获取方式     alert(this.innerHTML);//js获取方式   }); });

1.2. 回调函数带参数(*可以获取到index索引,且有两种获取元素对象的方式,如下)

->语法:jquery对象.each(function(index,element){});

  • index:就是元素在集合中的索引
  • element:就是集合中的每一个元素对象
  • this:集合中的每一个元素对象
//实例   $("#course li").each(function (index, item) { 			//3.1 获取 li对象 第一种方式 this             //alert(this.innerHTML);//js获取             //alert($(this).html());//jq获取             /*3.2 获取 li对象 第二种方式              在回调函数中定义参数 index(索引)item(元素对象)*/            // alert(index+":"+item.innerHTML);             alert(index+":"+$(item).html()); }

2. jQuery.each(object, [callback])

callback的返回值最后再做说明

2.1. 回调函数不带参数 (*与1.1效果类似,只能通过this来获取对象)

->语法:$.each(object,function(){});

$.each($("#course li"),function () {               //alert($(this).html());//jq获取方式    			  alert(this.innerHTML);//js获取方式          });

2.2. 回调函数带参数(*可以获取到index索引,与1.2效果类似,写法不同,如下)

->语法:$.each(object,function(){index,item});

  • index:就是元素在集合中的索引
  • item:就是集合中的每一个元素对象
  • this:集合中的每一个元素对象
$.each($("#course li"),function (index,item) {              //3.1 获取 li对象 第一种方式 this            // alert(this.innerHTML);//js获取            // alert($(this).html());//jq获取             /*3.2 获取 li对象 第二种方式              在回调函数中定义参数 index(索引)item(元素对象)*/             //alert(index+":"+item.innerHTML);             alert(index+":"+$(item).html());          });

3. for…of: jquery 3.0 版本之后提供的方式(*了解)

->语法:for(元素对象 of 容器对象)

   for (li of $("#course li")) {             alert($(li).html());         }

4. 回调函数返回值问题(涉及第一第二):(*补充)

  • true:如果当前function返回为false,则结束循环(break)。
  • false:如果当前function返回为true,则结束本次循环,继续下次循环(continue)

例如:

  $.each($("#course li"), function (index, item) {             //判断如果是java,则结束循环             if ("java" == $(item).html()) {                 //如果当前function返回为false,则结束循环(break)。                 //如果返回为true,则结束本次循环,继续下次循环(continue)                 return false;	             }             alert($(this).html());//此时前端页面只会弹出第一个值js         });            $.each($("#course li"), function (index, item) {             //判断如果是java,则结束循环             if ("java" == $(item).html()) {                 //如果当前function返回为false,则结束循环(break)。                 //如果返回为true,则结束本次循环,继续下次循环(continue)                 return true;	             }             alert($(this).html());//此时前端页面会依次弹出js,C++jq,不会弹出java         });

(学习视频分享:web前端)

赞(0)
分享到: 更多 (0)