Home > Web Front-end > JS Tutorial > body text

How to traverse in jQuery? A brief analysis of several traversal methods

青灯夜游
Release: 2022-02-24 10:51:39
forward
5721 people have browsed it

How to traverse in jQuery? The following article will share with you several ways of jQuery traversing objects. I hope it will be helpful to everyone!

How to traverse in jQuery? A brief analysis of several traversal methods

Several ways of jQuery traversal

We all know that the js traversal method is: for (initialization value; loop end condition ; step size) For example:

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

jQuery traversal has the following usages:

1. jq object.each(callback) or selector. each(callback)[Recommended learning: jQuery video tutorial]

The return value of callback will be explained at the end

1.1. The callback function takes no parameters (*Note: This kind of callback without parameters can only obtain each element object in the collection, but cannot obtain the corresponding index value, and can only be obtained through this. Get the object)

->Syntax: jquery object.each(function(){});

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

1.2. Callback function with parameters (*can be obtained index index, and there are two ways to obtain element objects, as follows)

->Syntax: jquery object.each(function(index,element){});

  • index: is the index of the element in the collection
  • element: is each element object in the collection
  • this: is each element object in the collection
//实例
  $("#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());
}
Copy after login

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

The return value of callback will be explained at the end

2.1. The callback function takes no parameters (*The effect is similar to 1.1, the object can only be obtained through this)

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

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

2.2. Callback function with parameters (*You can get the index index, the effect is similar to 1.2, but the writing method is different, as follows)

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

  • index: is the index of the element in the collection
  • item: is each item in the collection An element object
  • this: Each element object in the collection
$.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());
         });
Copy after login

3. for…of: Method provided after jquery 3.0 version (*Understand)

->Syntax: for(element object of container object)

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

4. The callback function returns Value issues (involving the first and second): (*Supplementary)

  • true: If the current function returns false, end the loop (break) .
  • false: If the current function returns true, end this loop and continue the next loop (continue)

For example:

  $.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
        });
Copy after login

(Learning video sharing :webfrontend

The above is the detailed content of How to traverse in jQuery? A brief analysis of several traversal methods. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template