README
HTMLElement Tools
Simple Toolkit for Interacting with the DOM.
Methods
getElement
e
{HTMLElement|string}
- An
HTMLElement
, or astring
that would produce one after being passed toquerySelector
.
- An
- (Optional)
callback
{Function}
- A
callback
function that uses the result of this function's coersion. It is passed two arguments;(error, result)
, following Node.js conventions.
- A
Description:
Given a HTMLElement
, or a string
representing one after being passed to querySelector
or getElementById
; coerces it to a single HTMLElement
, if necessary. If a node-style callback
is provided, it will return the result of it, passing in any errors if encountered, followed by the HTMLElement
as arguments. Otherwise, it will either return the HTMLElement
or throw an Error
.
Note: If a string is passed as
e
, and it is not a known HTML5 element/tag, and does not begin with.
or#
- it will be assumed to be anID
.
getElements
e
{NodeList|string}
- A
NodeList
, or astring
that would produce one after being passed toquerySelectorAll
.
- A
- (Optional)
callback
{Function}
- A
callback
function that uses the result of this function's coersion. It is passed two arguments;(error, result)
, following Node.js conventions.
- A
Description:
Given a NodeList
, or a string
representing one after being passed to querySelectorAll
or getElementsByClassName
; coerces it to an array of, HTMLElement
s. If a node-style callback
is provided, it will return the result of it, passing in any errors if encountered, followed by the array of HTMLElement
s as arguments. Otherwise, it will return the array of HTMLElement
s, or throw an Error.
Note: If a string is passed as
e
, and it is not a known HTML5 element/tag, and does not begin with.
or#
- it will be assumed to be aclass
.
eachElement
e
{HTMLElement[]|NodeList|string}
- An
HTMLElement
, an array ofHTMLElement
s, aNodeList
, or a string that will produce one of the aforementioned types.
- An
callback
{Function}
- A function that will be called on each
HTMLElement
. The arguments passed are the same as<Array>.forEach
:(value, index, array)
.
- A function that will be called on each
Description:
Given one or more HTMLElement
s, a NodeList
, or a string that will produce one of the aforementioned types after being passed to getElements
- preforms the provided callback
function once on each of the elements.
Custom Error Types
Some custom Error
extended classes have been created for convenience. From the main package, they are available under htmltools.err.<error_type>
. You can test for them using the instanceof
operator.
ElementNotFound
NodeListNotFound
IllegalQuery
Changelog
v0.4.x
- Added: Test.<Methods>:
img
,br
,hr
,li
,div
,map
,mod
,pre
,area
,base
,body
,data
,form
,head
,html
,link
,meta
,slot
,span
,time
,audio
,dList
,embed
,input
,label
,media
,meter
,oList
,param
,quote
,style
,table
,title
,track
,uList
,video
,anchor
,button
,canvas
,dialog
,iFrame
,legend
,object
,option
,script
,select
,source
,details
,heading
,picture
,dataList
,fieldSet
,optGroup
,progress
,tableCol
,tableRow
,template
,textArea
,p
,tableCell
,tableCaption
,tableSection
v0.3.x
- Removed: Method -
nodeListToArray
- Change: Refactored -
getElement
,getElements
,eachElement
v0.2.x
- Added: Method -
test.isElement
- Added: Method -
test.isElements
v0.1.x (Initial Publish)
- Added: Method -
getElement
- Added: Method -
getElements
- Added: Method -
nodeListToArray
- Added: Method -
eachElement
- Added: Error -
ElementNotFound
- Added: Error -
NodeListNotFound
- Added: Error -
IllegalQuery
Todo
- Add testing suites
- Correct Illegal Query pattern to allow all query types
- StringTest should be extended to give getElements a performance boost where possible when a string can and only ever would be a single element.