Heim  >  Artikel  >  Web-Frontend  >  Durchquerung: jquery $().each und $.each()

Durchquerung: jquery $().each und $.each()

巴扎黑
巴扎黑Original
2017-07-09 11:08:06983Durchsuche

In jquery durchläuft Objekte und Array, wobei oft $().each und $.each() verwendet werden, beides Methoden.

$().each wird häufig in der DOM-Verarbeitung verwendet. Wenn die Seite mehrere Eingabe-Tags vom Typ Kontrollkästchen enthält, verwenden Sie $().each, um mehrere Scheckbücher zu verarbeiten, zum Beispiel:

<br>

<span style="font-family: 宋体;">$(“input[name=’ch’]”).each(<span style="color: #0000ff;">function</span><span style="color: #000000;">(i){</span><span style="color: #0000ff;">if</span>($(<span style="color: #0000ff;">this</span>).attr(‘checked’)==<span style="color: #0000ff;">true</span><span style="color: #000000;">)
{</span><span style="color: #008000;">//</span><span style="color: #008000;">一些操作代码</span><span style="color: #000000;">}<br><a href="http://www.php.cn/code/8530.html" target="_blank">回调函数</a>是可以传递参数,i就为遍历的索引。<br></span></span>

Das Durchlaufen eines Arrays wird normalerweise mit $.each() gehandhabt. Zum Beispiel:

<br>

<br>

$.each([{name:"limeng",email:"xfjylimeng"},{name:"hehe",email:"xfjylimeng"}],function(i,n)<br>{<br>alert("Index: "+i+" entsprechender Wert ist: "+n.name);<br>});

Der Parameter i ist der Durchlaufindexwert, n ist der aktuelle Durchlauf Objekt .

<br>var arr1 = [ "one", "two", "three", "four", "five" ];<br>$.each(arr1, function(){<br>alert(this);<br>});<br>输出:one   two  three  four   five<br><br>var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]<br>$.each(arr2, function(i, item){<br>alert(item[0]);<br>});<br>输出:1   4   7<br><br>var obj = { one:1, two:2, three:3, four:4, five:5 };<br>$.each(obj, function(key, val) {<br>alert(obj[key]);<br>});<br>输出:1   2  3  4  5<br>

Tatsächlich wird jede Methode in jQuery durch die Aufrufmethode in js implementiert.

Das Folgende ist eine kurze Einführung in die Aufrufmethode. <br>Die Aufrufmethode ist sehr wunderbar. Tatsächlich lautet die offizielle Beschreibung: „Rufen Sie eine Methode eines Objekts auf und ersetzen Sie das aktuelle Objekt durch ein anderes Objekt.“ Kontextumgebung, und einige sagen auch, dass dieser Zeiger den Kontext ändern soll. <br>call([thisObj[,arg1[, arg2[, [,.argN]]]]])

Parameter<br> thisObj<br>Optional. Das Objekt, das als aktuelles Objekt verwendet wird. <br>arg1, arg2, , argN<br>Optional. Es wird eine Folge von Methodenparametern übergeben.

Erklärung<br>Mit der Call-Methode kann eine Methode anstelle eines anderen Objekts aufgerufen werden. Die Aufrufmethode ändert den Objektkontext einer Funktion vom Anfangskontext in das durch thisObj angegebene neue Objekt.

Zitieren eines klassischen Beispiels aus dem Internet

Js-Code

<br>

function add(a,b){
alert(a+b);}<br>function sub(a,b){
alert(a-b);}<br>add.call(sub,3,1);

Sub durch add ersetzen, add.call(sub,3,1) == add(3,1) , so Das laufende Ergebnis lautet: alarm(4);<br>Hinweis: Funktionen in js sind eigentlich Objekte und der Funktionsname ist ein Verweis auf die Funktion Objekt.

Hier sind einige häufige Verwendungen der einzelnen Methoden von jQuery

Js-Code<br>var arr = [ „eins“, „zwei“, „drei“, „vier“];<br>$.each( arr, function( ){<br>alert(this);<br>});<br>//Die von jedem oben ausgegebenen Ergebnisse sind jeweils Für: eins , zwei, drei, vier

var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]<br>$.each(arr1, function(i, item){<br>alert(item[0]);<br>});<br>//其实arr1为一个二维数组,item相当于取每一个一维数组<br>//item[0]相对于取每一个一维数组里的第一个值<br>//所以上面这个each输出分别为:1   4   7

var obj = { one:1, two:2, three:3, four:4};<br>$.each(obj, function(key, val) {<br>alert(obj[key]);<br>});<br>//这个each就有更厉害了,能循环每一个属性<br>//输出结果为:1   2  3  4

 

jQuery each源码

 

<br>

each: function( obj, callback ) {        var length, i = 0;        if ( isArrayLike( obj ) ) {
            length = obj.length;            for ( ; i < length; i++ ) {                if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {                    break;
                }
            }
        } else {            for ( i in obj ) {                if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {                    break;
                }
            }
        }        return obj;
    }

 

Das obige ist der detaillierte Inhalt vonDurchquerung: jquery $().each und $.each(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn