xp-dom
A pack to handle dom
Installation
npm i xp-dom --save
Usage
// var on = require('xp-dom').on { console }let div = document // on('.box', 'click', say)
API
event
on(elem, type, handler)
- attach an event
off(elem, type, handler)
- remove an event
one(elem, type, hander)
- add an event just once
delegate(selector, type, handler, parent)
- delegate an event whenever the dom exsists or not, use event buble, so not all types event are supported.
- selector cant be DOMElemnt.
- parent default is
<body></body>
documentclassList // click box2 will trigger fn
undelegate(selector, type, handler, parent)
- remove delegate
documentclassList // click box2 will not trigger fn
element
matches(elem, selector)
- returns true if the element would be selected by the specified selector string; otherwise, returns false.
// <div class="box box1"></div> // false
closest(elem, selector)
- returns the closest ancestor of the current element
// <div class="box"><p></p></div> // return the DivElement
classlist
hasClass(elem, className)
- returns ture if element has the className. same as classList.contains.
// <div class="box"></div> // true
addClass(elem, className)
- add className for element. same as classList.add.
// <div class="box"></div> // <div class="box box2"></div>
removeClass(elem, className)
- remove className for element. same as classList.remove.
// <div class="box"></div> // <div class></div>
toggleClass(elem, className)
- toggle className for element. same as classList.toggle.
// <div class="box"></div> // <div class="box box2"></div> // <div class></div>
itemClass(elem, number)
- returns className by index in collection. same as classList.item.
// <div class="box"></div> // box