@version 0.1.1
@date 2015-05-10
@stability 2 - Unstable

A small pure-JavaScript CSS selector engine.
var selector = require("selector-lite")
// Can be used to implement browser built-in functions.
function getElementById(id) {
return selector.find(this, "#" + id, true)
}
function getElementsByTagName(tag) {
return selector.find(this, tag)
}
function getElementsByClassName(sel) {
return selector.find(this, "." + sel.replace(/\s+/g, "."))
}
function querySelector(sel) {
return selector.find(this, sel, true)
}
function querySelectorAll(sel) {
return selector.find(this, sel)
}
find(node, selector, returnFirstMatch) - Find matching elements like querySelector.matches(node, selector) - Returns a Boolean indicating whether or not
the element would be selected by the specified selector string.closest(selector) - Returns the Element, descendant of this element
(or this element itself), that is the closest ancestor of the elements
selected by the selectors given in parameter.next(selector) - Retrieves the next sibling that matches selector.prev(selector) - Retrieves the preceding sibling that matches selector.Custom selector can be added to selector.selectorMap, where method shortcuts are available (m->matches, c->closest, n->next, p->prev).
_ - node.v - part between () in :nth-child(2n+1).a and b can be used as temp variables.// Add `:input` selector
selector.selectorMap.input = "_.tagName=='INPUT'"
// Add `:val()` selector
selector.selectorMap.val = "_.value==v"
Copyright (c) 2015 Lauri Rooden <lauri@rooden.ee>
The MIT License
Have an update or suggestion for this note? You can edit it and send me a pull request.
Since 2013 to 2015