60 of 119 menu

Método filter

El método filter deja en el conjunto solo aquellos elementos que satisfacen un selector específico.

Sintaxis

Filtrado por selector:

.filter(selector);

El parámetro también puede ser elementos DOM o un objeto jQuery:

.filter(elemento DOM u objeto jQuery);

También se pueden filtrar elementos usando una función, que se llama por separado para cada uno de los elementos seleccionados. Si devuelve true, entonces el elemento actual será incluido en el resultado final, si false - no se incluirá. Los propios elementos están disponibles en la función, en la variable this, y sus números de orden en el conjunto — en la variable index:

.filter(function(index, elem))

Ejemplo

Encontremos todos los párrafos, pongámosles al principio el texto '!' usando prepend, luego obtengamos de los encontrados solo los párrafos con la clase www usando filter y pongámosles al final el texto '?' usando append:

<p>text</p> <p>text</p> <p class="www">text</p> <p class="www">text</p> $('p').prepend('!').filter('.www').append('?');

El código HTML quedará así:

<p>!text</p> <p>!text</p> <p class="www">!text?</p> <p class="www">!text?</p>

Ejemplo

Usemos una función para encontrar todos los párrafos que tengan la etiqueta strong y pongámosles el texto '!!!':

<p><strong>text</strong></p> <p><strong>text</strong></p> <p>text</p> <p>text</p> $('p').filter(function() { return $('strong', this).length === 1; }).html('!!!');

El código HTML quedará así:

<p>!!!</p> <p>!!!</p> <p>text</p> <p>text</p>

Véase también

  • método find,
    que encuentra elementos por selector entre los ya encontrados
  • método has,
    que filtra el conjunto de elementos seleccionados por descendientes
azbydeenesfrkakkptruuz