> For the complete documentation index, see [llms.txt](https://jscula.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jscula.gitbook.io/docs/manipulation/.filter.md).

# .filter()

Filter NodeList and HTMLCollection objects using array-like callbacks.

Filters a `NodeList` or `HTMLCollection` like an array.

Returns `Collection`

```javascript
const visibleCards = $('.card*').filter(card => !card.hasClass('hidden'));

visibleCards.forEach(card => card.addClass('visible'));
```

### More examples

Filter elements by an attribute value:

```javascript
const requiredFields = $('input*').filter(input => input.attr('required'));
```

Filter items by their text content:

```javascript
const activeLinks = $('a*').filter(link => link.text().includes('Active'));
```
