Metode filter
Metode filter atstāj kopā tikai
tos elementus, kas atbilst
noteiktam selektoram.
Sintakse
Filtrēšana pēc selektora:
.filter(selektors);
Parametrs var būt arī DOM elementi vai jQuery objekts:
.filter(DOM elements vai jQuery objekts);
Var arī filtrēt elementus, izmantojot
funkciju, kas tiek izsaukta atsevišķi
katram no atlasītajiem elementiem. Ja tā
atgriež true, tad pašreizējais elements tiks
iekļauts gala rezultātā, ja false
- netiks iekļauts. Paši elementi ir pieejami funkcijā,
mainīgajā this, un to kārtas numuri
kopā — mainīgajā index:
.filter(function(index, elem))
Piemērs
Atradīsim visus rindkopas, ieliksim tiem
sākumā tekstu '!' ar
prepend palīdzību,
pēc tam iegūsim no atrastajām tikai rindkopas
ar klasi www ar filter palīdzību
un ieliksim tiem beigās tekstu '?' ar
append palīdzību:
<p>teksts</p>
<p>teksts</p>
<p class="www">teksts</p>
<p class="www">teksts</p>
$('p').prepend('!').filter('.www').append('?');
HTML kods izskatīsies šādi:
<p>!teksts</p>
<p>!teksts</p>
<p class="www">!teksts?</p>
<p class="www">!teksts?</p>
Piemērs
Izmantosim funkciju, lai atrastu visas
rindkopas, kurās ir tags
strong
un ieliksim tiem tekstu '!!!':
<p><strong>teksts</strong></p>
<p><strong>teksts</strong></p>
<p>teksts</p>
<p>teksts</p>
$('p').filter(function() {
return $('strong', this).length === 1;
}).html('!!!');
HTML kods izskatīsies šādi:
<p>!!!</p>
<p>!!!</p>
<p>teksts</p>
<p>teksts</p>