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前端

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)