@3lessthan/htmltools
v0.4.43
Published
Toolkit for interacting with the DOM.
Readme
HTMLElement Tools
Simple Toolkit for Interacting with the DOM.
Methods
getElement
e{HTMLElement|string}- An
HTMLElement, or astringthat would produce one after being passed toquerySelector.
- An
- (Optional)
callback{Function}- A
callbackfunction 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 astringthat would produce one after being passed toquerySelectorAll.
- A
- (Optional)
callback{Function}- A
callbackfunction 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, HTMLElements. 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 HTMLElements as arguments. Otherwise, it will return the array of HTMLElements, 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 ofHTMLElements, 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 HTMLElements, 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.
ElementNotFoundNodeListNotFoundIllegalQuery
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.
