Home  >  Article  >  Web Front-end  >  jquery's each method usage example sharing_jquery

jquery's each method usage example sharing_jquery

WBOY
WBOYOriginal
2016-05-16 16:54:311087browse

For the jQuery object, the each method is simply delegated: the jQuery object is passed as the first parameter to the each method of jQuery. In other words: the each method provided by jQuery is for the object provided by parameter one. All child elements in the method are called one by one. The each method provided by the jQuery object calls the sub-elements inside jQuery one by one.

Copy code The code is as follows:

jQuery.prototype.each=function( fn, args ) {
return jQuery.each( this, fn, args );
}

Let us take a look at the specific implementation of the each method provided by jQuery, jQuery.each(obj,fn,arg)

This method has three parameters: the object obj to be operated on, the function fn to be operated on, and the function parameters args.

Let’s discuss in terms of ojb objects:

1. The obj object is an array

The

each method will call the fn function one by one on the sub-elements in the array until the result returned by calling a certain sub-element is false. In other words, we can process it with the provided fn function to make it meet certain conditions. Just exit the each method call. When the each method provides the arg parameter, the parameter passed in by the fn function call is arg, otherwise: the subelement index, the subelement itself.

2. obj object is not an array

The biggest difference between this method and 1 is that the fn method will be executed one after another without considering the return value. In other words, all properties of the obj object will be called by the fn method, even if the fn function returns false. The parameters passed in the call are similar to 1.

Copy code The code is as follows:

jQuery.each=function( obj, fn, args ) {
if ( args ) {
if ( obj.length == undefined ){
for ( var i in obj )
fn.apply( obj, args );
}else{
for ( var i = 0, ol = obj.length; i < ol; i ) {
if ( fn.apply( obj, args ) === false )
break;
}
}
} else {
if ( obj.length == undefined ) {
for ( var i in obj )
fn.call( obj, i, obj );
} Else {
for (var I = 0, OL = OBJ.Length, VAL = OBJ [0]; I & LT; OL && FN.CALL (VAL, I, Val)! == False; Val = Obj [ i] ){}
}
}
return obj;
}

It is important to note that the specific calling method of fn in each method is not simple fn(i, val) or fn(args), but fn.call(val,i,val) or fn. The form of apply(obj.args) means that in your own implementation of fn, you can directly use this pointer to refer to the sub-elements of the array or object. This method is an implementation method used by most jQuery.

Statement:
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