这篇文章主要介绍“jQuery中遍历的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jQuery中遍历的方式有哪些”文章能帮助大家解决问题。
我们都知道js 的遍历方式为: for(初始化值;循环结束条件;步长) 例如:
for (var i = 0; i < 3; i++) {//循环体}
jQuery遍历大概有如下几种用法:
1. jq对象.each(callback) 或 选择器.each(callback)
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 });
关于“jQuery中遍历的方式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。