jBit
A simple jQuery like DOM Traverse lightweight (less than 5kb gzipped) library written in ES6(Buble).
Table of Contents
Install
You can get it on npm
$ npm install --save jbit
Then import it with a module bundler like rollup or webpack
// using ES6 modules // using CommonJS modulesvar $ =
There is also an UMD build available on unpkg:
You can find the library on window.$
.
Usage
Examples & Demos
Soon :)
API
jBit
jBit class
constructor
Create a jBit instance
Parameters
Returns jBit a new instance
map
Parameters
cb
Function map callback
Returns Array resulted by the map function
each
Parameters
cb
Function forEach callback
slice
Parameters
Returns Array
is
Test if each element in the current set of elements match the given selector Can receive an element to compare, ignoring the current set of elements
Parameters
selector
String string containing a selector expressionelem
Element?= {jBi to test the selector against
Returns jBit instance
add
Add new elements to the instance
Parameters
selector
String string containing a selector expressionelem
Element to test the selector againstcontext
Returns jBit instance
addBack
Add the previous set of elements, to the current one optionally filtered by a selector
Parameters
selector
String string containing a selector expression
Returns jBit instance
end
Returns jBit the previous set of metched elements
get
Get an array containing the current set of elements
Returns Array array containing the current set of elements
index
Return the position of the first element relative to its siblings elements
Returns Number zero based position
at
Reduce the set of matched elements to the one at the specified index
Parameters
index
Integer
Returns jBit instance
first
Returns jBit instance containing the first element
last
Returns jBit instance containing the last element
not
Filter the set of matched elements excluding the ones that match the filter
Parameters
filter
String containing a selector expression
Returns jBit instance
has
Filter the set of matched elements to those that have a descendant that matches the selector or Element
Parameters
Returns jBit instance
filter
Filter the set of matched elements
Parameters
selector
String containing a selector expression
Returns jBit instance
siblings
Get all sibling elements of each element in the current set of elements
Returns jBit instance
prev
Find the previous element sibling of each element in the current set of elements
Returns jBit instance
next
Find the next element sibling of each element in the current set of elements
Returns jBit instance
prevAll
Get all preceding sibling elements of each element in the current set of elements Can receive a selector to filter the matched siblings
Parameters
filter
String containing a selector expression
Returns jBit instance
nextAll
Get all following sibling elements of each element in the current set of elements Can receive a selector to filter the matched siblings
Parameters
filter
String containing a selector expression
Returns jBit instance
children
Get all children elements of each element in the current set of elements Can receive a selector to filter the matched children
Parameters
filter
String containing a selector expression
Returns jBit instance
find
Find descendants of each element in the current set of elements
Parameters
filter
String containing a selector expression
Returns jBit instance
parent
Get the parent elements of each element in the current set of elements
Returns jBit instance
parents
Parameters
filter
String containing a selector expression
Returns jBit instance
closest
Returns the closest ancestor of the current element (or the current element itself) which matches the selector for each of the elements in the current set of elements
Parameters
selector
String
Returns jBit instance
Contribute
All contributions are welcome.
- Fork the repo on GitHub
- Clone the project to your own machine
- Install the tools necessary for development:
npm install
- Make your changes and test it:
npm test
- Commit it to your own branch
- Push your work back up to your fork
- Submit a pull request with full remarks documenting your changes
Whishlist
- break test in one file per mixin
- add flow type checking
- add typescript definition
- improve support for SSR environments
Browser Support
IE 10+
Modern browsers