domQ is an absurdly small jQuery alternative for modern browsers (IE11+) that provides jQuery-style syntax for manipulating the DOM. Utilizing modern browser features to minimize the codebase, developers can use the familiar chainable methods at a fraction of the file size. 100% feature parity with jQuery isn't a goal, but domQ comes helpfully close, covering most day to day use cases.
I was very bored with jquery script and wanted to try something else 🙈.
Well as a web developer i wanted to move out from jQuery and use Vanilla JS. When i realized i had to write multiple lines of code for a single action thats when i decided to create a lightweight javascript library that can do most things that jQuery
can.
domQ Uses Dizzle which is an alternate to jQuery's Sizzle Framework which is used for Customized CSS Selectors like
:input
,:hidden
and Dizzle is bundled along with domQ. we both standalone & bundled versions.
Size | domQ | domQ + Dizzle | Zepto | jQuery Slim |
---|---|---|---|---|
Unminified | 45.7 KB | 77.1 KB | 58.7 KB | 250 KB |
Minified | 20.5 KB | 31.4 KB | 26 KB | 70.6 KB |
Minified & Gzipped | 7.50 KB | 11.1 KB | 9.8 KB | 24.4 KB |
Features | domq | domQ + Dizzle | Zepto | jQuery Slim |
---|---|---|---|---|
Supports Older Browsers | ❌ | ❌ | ❌ | ✔ |
Supports Modern Browsers | ✔ | ✔ | ✔ | ✔ |
Actively Maintained | ✔ | ✔ | ❌ | ✔ |
Namespaced Events | ✔ | ✔ | ❌ | ✔ |
jQuery Selectors | ✔ | ✔ | ✔ | |
** Animation | ✔ | ✔ | ❌ |
** domQ uses WebAnimation's API
Get domQ from CloudFlare or jsDelivr and use it like this:
<script src="https://cdn.jsdelivr.net/npm/@domq-js/core@1.0.0/dist/bundled/domq.umd.min.js"></script>
<script>
domQ(function () {
domQ('html').addClass ( 'domq-works' );
domQ('<footer>Appended with domQ</footer>').appendTo ( document.body );
});
</script>
domQ is also available through npm as the @domq-js/core
package:
npm install --save @domq-js/core
That you can then use like this:
import domq from "domq";
domq(function () {
domq('html').addClass ( 'domq-works' );
domq('<footer>Appended with domQ</footer>').appendTo ( document.body );
});
domQ gives you a query selector, collection
methods and some library
methods. If you need more details about our API just check out jQuery's, while we don't implement everything that jQuery provides, everything what we do implement should be compatible with jQuery. domQ can be extended with custom methods, read how here.
Documentation : https://domq.sva.wiki
❤️ Thanks To Mannatstudio Themes For The Awesome Logo
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
If you would like to help, please take a look at the list of issues.
I fell in love with open-source in 2013 and there has been no looking back since! You can read more about me here. If you, or your company, use any of my projects or like what I’m doing, kindly consider backing me. I'm in this for the long run.
- ☕ How about we get to know each other over coffee? Buy me a cup for just $9.99
- ☕️☕️ How about buying me just 2 cups of coffee each month? You can do that for as little as $9.99
- 🔰 We love bettering open-source projects. Support 1-hour of open-source maintenance for $24.99 one-time?
- 🚀 Love open-source tools? Me too! How about supporting one hour of open-source development for just $49.99 one-time ?
- ⭐ This repository if this project helped you! 😉
- Create An 🔧 Issue if you need help / found a bug
- Follow me on 👨💻 Github and stay updated on free and open-source software
- Follow me on 🐦 Twitter to get updates on my latest open source projects
- Message me on 📠 Telegram
- Follow my pet on Instagram for some dog-tastic updates!
Built With ♥ By Varun Sridharan 🇮🇳