filter մեթոդը

filter մեթոդը հավաքածուի մեջ թողնում է միայն նրանք տարրերը, որոնք բավարարում են որոշակի ընտրիչին:

Շարահյուսություն

Ֆիլտրում ըստ ընտրիչի:

javascript.filter(ընտրիչ);

Պարամետրը կարող է լինել նաև DOM տարրեր կամ jQuery օբյեկտ:

javascript.filter(DOM տարր կամ jQuery օբյեկտ);

Կարելի է նաև ֆիլտրել տարրերը օգտագործելով ֆունկցիա, որն կանչվում է առանձին յուրաքանչյուր ընտրված տարրի համար: Եթե այն վերադարձնում է true, ապա ընթացիկ տարրը կ ներառվի վերջնական արդյունքում, եթե false - չի ներառվի: Tարրերն իրենք հասանելի են ֆունկցիայում, this փոփոխականում, իսկ նրանց հերթական համարները հավաքածուում — index փոփոխականում:

javascript.filter(function(index, elem))

Օրինակ

Եկեք գտնենք բոլոր պարբերությունները, դնենք նրանց սկզբում '!' տեքստը օգտագործելով prepend, ապա ստացվածներից ստանանք միայն պարբերությունները www դասի օգտագործելով filter և դնենք նրանց վերջում '?' տեքստը օգտագործելով append:

html<p>տեքստ</p>
<p>տեքստ</p>
<p class="www">տեքստ</p>
<p class="www">տեքստ</p>
javascript$('p').prepend('!').filter('.www').append('?');

HTML կոդը կդառնա այսպիսին:

html<p>!տեքստ</p>
<p>!տեքստ</p>
<p class="www">!տեքստ?</p>
<p class="www">!տեքստ?</p>

Օրինակ

Եկեք օգտագործելով ֆունկցիա գտնենք բոլոր պարբերությունները, որոնք ունեն strong պիտակ և դնենք նրանց '!!!' տեքստը:

html<p><strong>տեքստ</strong></p>
<p><strong>տեքստ</strong></p>
<p>տեքստ</p>
<p>տեքստ</p>
javascript$('p').filter(function() {
  return $('strong', this).length === 1;
}).html('!!!');

HTML կոդը կդառնա այսպիսին:

html<p>!!!</p>
<p>!!!</p>
<p>տեքստ</p>
<p>տեքստ</p>

Տես նաև

  • find մեթոդը,
    որը գտնում է տարրեր ըստ ընտրիչի արդեն գտնվածների մեջ
  • has մեթոդը,
    որը ֆիլտրում է ընտրված տարրերի հավաքածուն ըստ սերունդների