⊗jqBsEM 30 of 113 menu

jQueryдеги each методу менен иштөө

Бизде 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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу