⊗jqBsEM 30 of 113 menu

Работа бо усули each дар jQuery

Вақте ки мо як гурӯҳи элементҳо дорем, ки бо ёрии jQuery гирифта шудаанд, мо метавонем танҳо барои ҳамаи элементҳо якбора дар онҳо тағйирот ворид кунем.

Масалан, агар мо мехоҳем матни ҳамаи параграфҳои ёфташударо иваз кунем - мо наметавонем онро гуногун созем.

Дар ин ҳолат ба мо усули махсус each кӯмак мекунад, ки имкон медиҳад ягон функсияро барои ҳамаи элементҳои маҷмӯи jQuery истифода барем. Дар ин вақт дар дохили ин функсия мо метавонем элементҳоро ҷудо кунем ва ба ҳар яке аз онҳо гуногун рафтор кунем.

Дар асл each як ҳалқа аст, ки бо ёрии он метавон ҳамаи элементҳои ёфташударо такрор кард. Истинод ба он элементе, ки ҳалқа ҳоло тавассути он мегузарад, дар this хоҳад буд.

Мо метавонем танҳо аз ин this дар JavaScript-и холӣ истифода барем, тавре ки мо пештар мекардем, масалан, чунин - this.innerHTML - ва мундариҷаи дохилии элементҳои худро барорем. Аммо беҳтар аст, ки thisро ба доллари jQuery чунин даруғанд кунем - $(this) - дар ин ҳолат мо метавонем ба он ҳамаи усулҳо ва занҷирҳои jQuery-ро истифода барем.

Биёед рамзи HTML-и зеринро дида бароем:

<p class="www">матн</p> <p class="www">матн</p> <p class="www">матн</p> <p>матн</p>

Дар ин мисол мо бояд ҳамаи элементҳо бо синфи wwwро гирифта ва мундариҷаи онҳоро ба экран барорем. Чӣ тавр анҷом дода мешавад: бо ёрии $('.www') мо элементҳои зарурии худро мегирем, сипас бо ёрии each(test) мо ба ҳар як элементи гирифташуда функсияи test-ро мезанем. Он аввал ба параграфи якум меафтад, пас ба дуввум, ба сеюм ва ҳамин тавр.

Дар дохили функсия this ба он элементи ишора мекунад, ки ба он функсия test меафтад - аввал ин элемент якум хоҳад буд, пас дуввум, ну ва ҳамин тавр. Бо ёрии чунин сохтор $(this) мо ба ҷои оддии this аз JavaScript як элементи jQuery мегирем ва ба он усули html-ро мезанем, ки матни элементи моро мегирад. Ну, ва баъд он танҳо ба экран бароварда мешавад:

/* Номи функсияи test бе қошишҳо ва (), зеро мо ба рамзи он ниёз дорем, на натиҷа: */ $('.www').each(test); function test() { alert($(this).html()); }

Барои ҳалли ин вазифа метавон функсияҳои номаълумро низ истифода бурд - инро аксаран мекунанд:

$('.www').each(function() { alert($(this).html()); });

Инчунин мо метавонем ба усули each callback-функсияро бо параметрҳо гузаронем.

Биёед дар мисоли оянда ба охир ҳамаи li дар саҳифа рақами тартибии онҳоро илова кунем. Ҳоло ба функсияи номаълуми мо мо рақами элемент ва худи элементро мегузаронем:

$('li').each(function (index, elem) { $(elem).append(index); });

Ҳоло ба ҷои elem истифода бурда thisро истифода барем:

$('li').each(function (index) { $(this).append(index); });

Мундариҷаи ҳамаи liро ба рақами тартибии онҳо иваз кунед.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан