JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 86
  • Score
    100M100P100Q15680F
  • License Unlicensed

Query selector CSS4 +

Package Exports

  • queried
  • queried/lib/pseudos/matches

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (queried) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

queried Build Status Code Climate

Queried is tiny normalized query selector. It just wraps native querySelector and provides hooks for custom pseudos. Basically it polyfills CSS4 pseudos, but might be used to implement other pseudos, like jQuery ones or query-relative.

  1. Polyfills CSS3 & CSS4 pseudos: :has, :scope, :root, :matches.

  2. Fixes immediate children selector > *, which is unavailable in query.

  3. Returns Array instead of NodeList in multiple query, so you can do forEach on result.

  4. Accepts other elements as a selector, for example, to find within a set.

  5. Fully compliant with query.

Use it if you need CSS4 pseudos or other specific pseudos.

Otherwise take a look at analogs:

  • sel — a more complete CSS4 selector, lacks of mapping pseudos and unable to handle nested pseudos like :not(:has(a))
  • query-component - a tiny wrapper over native querySelector with fallback to engines like qwery etc.
  • dom-select
  • qwery
  • domy-element
  • query-relative — extension to queried with relative pseudos like :parent, :closest(), :next(), :prev().
  • jquery

$ npm install queried

var q = require('queried');

//select each div having `a` with `span` inside as immediate children.
q.all('div:has(a:has(span))');

API

Fully compliant with query-component.

Method Description
query(selector, el=document) Query a single element by selector
query.all(selector, el=document) Query list of elements by selector
query.registerFilter(name, filterFn) Register a filtering pseudo
query.registerMapper(name, mapperFn) Register a mapping pseudo
query.document Default document to use. Change it, if you need custom DOM, like q.document = require('dom-lite').document.

NPM