fregante / Select Dom
Licence: mit
Lightweight querySelector/All wrapper that outputs an Array
Stars: ✭ 111
Programming Languages
typescript
32286 projects
select-dom
Lightweight
querySelector
/All
wrapper that outputs an Array
Version 7+ only supports browsers with iterable NodeList
s. If you need IE support, stick to [email protected]
or lower.
Install
npm install select-dom
// This module is only offered as a ES Module
import select from 'select-dom';
API
Note: if a falsy value is passed as baseElement
, you'll always get an empty result (bd578b9)
select(selector[, baseElement = document])
Maps to baseElement.querySelector(selector)
, except it returns undefined
if it's not found
select('.foo a[href=bar]');
// => <Element>
select('.foo a[href=bar]', baseElement);
// => <Element>
select('.non-existent', baseElement);
// => undefined
select.last(selector[, baseElement = document])
Like select()
, except that it returns the last matching item on the page instead of the first one.
select.exists(selector[, baseElement = document])
Tests the existence of one or more elements matching the selector. It's like select()
, except it returns a boolean
.
select.exists('.foo a[href=bar]');
// => true/false
select.exists('.foo a[href=bar]', baseElement);
// => true/false
select.all(selector[, baseElements = document])
Maps to baseElements.querySelectorAll(selector)
plus:
- it always returns an array
-
baseElements
can be a list of elements to query
select.all('.foo');
// => [<Element>, <Element>, <Element>]
select.all('.foo', baseElement);
// => [<Element>, <Element>, <Element>]
select.all('.foo', [baseElement1, baseElement2]);
// => [<Element>, <Element>, <Element>]
// This is similar to jQuery([baseElement1, baseElement2]).find('.foo')
Related
- delegate-it - DOM event delegation, in <1KB.
-
doma - Parse an HTML string into
DocumentFragment
or oneElement
, in a few bytes. - Refined GitHub - Uses this module.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].