npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@hola.org/cash-dom

v1.3.5-hola.4

Published

An absurdly small jQuery alternative for modern browsers.

Downloads

4

Readme

#Cash An absurdly small jQuery alternative for modern browsers (IE9+)

https://travis-ci.org/kenwheeler/cash.svg?branch=master Minified GZIP

Cash is a small library for modern browsers (Chrome, Firefox, Safari and Internet Explorer 9+) 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 cash comes helpfully close, covering most day to day use cases.

Size Comparison

| Library | Cash | jQuery 3.0 | jQuery 2.2 | | ------------------------- | --------------:| -----------:| -----------:| | Uncompressed | 20K | 263K | 253K | | Minified | 9.8K | 86K | 76K | | Minified & Gzipped | 3.5K | 34K | 30K |


Usage

Add cash to your project on your server or using the jsDelivr or CloudFlare CDNs, and use cash to manipulate the DOM!

<script src="https://cdn.jsdelivr.net/cash/1.3.0/cash.min.js"></script>
<script>
$(function(){

  $('html').addClass('dom-loaded');

  $('<footer>Appended with cash</footer>').appendTo(document.body);

});
</script>

Cash is also available through NPM as the cash-dom package:

npm install cash-dom --save-dev

And through Bower as cash:

bower install cash

Documentation

$()

This is the main selector method for cash. It returns an actionable collection of nodes. If a function is provided, the function will be run once the DOM is ready.

$(selector,[context]) // => collection
$(node) // => collection
$(nodeList) // => collection
$(htmlString) // => collection
$(collection) // => self
$(function) // => document ready callback

Collection Methods

These methods from the collection prototype ( $.fn ) are available once you create a collection with $() and are called like so:

$(element).addClass(className) // => collection

| Attributes | Collection | CSS | Data | Dimensions | Events | | ---------- | ---------- | --- | ---- | ---------- | ------ | | $.fn.addClass() | $.fn | $.fn.css() | $.fn.data() | $.fn.height() | $.fn.off() | | $.fn.attr() | $.fn.add() | | $.fn.removeData() | $.fn.innerHeight() | $.fn.on() | | $.fn.hasClass() | $.fn.each() | | | $.fn.innerWidth() | $.fn.one() | | $.fn.prop() | $.fn.eq() | | | $.fn.outerHeight() | $.fn.ready() | | $.fn.removeAttr() | $.fn.filter() | | | $.fn.outerWidth() | $.fn.trigger() | | $.fn.removeClass() | $.fn.first() | | | $.fn.width() | | | $.fn.removeProp() | $.fn.get() | | | | | | $.fn.toggleClass() | $.fn.index() | | | | | | | $.fn.last() | | | | |

| Forms | Manipulation | Offset | Traversal | | ----- | ------------ | ------ | --------- | | $.fn.serialize() | $.fn.after() | $.fn.offset() | $.fn.children() | | $.fn.val() | $.fn.append() | $.fn.offsetParent() | $.fn.closest() | | | $.fn.appendTo() | $.fn.position() | $.fn.find() | | | $.fn.before() | | $.fn.has() | | | $.fn.clone() | | $.fn.is() | | | $.fn.empty() | | $.fn.next() | | | $.fn.html() | | $.fn.not() | | | $.fn.insertAfter() | | $.fn.parent() | | | $.fn.insertBefore() | | $.fn.parents() | | | $.fn.prepend() | | $.fn.prev() | | | $.fn.prependTo() | | $.fn.siblings() | | | $.fn.remove() | | | | | $.fn.text() | | |

Utilities

| Type Checking | Utilities | | ------------- | --------- | | $.isArray() | $.each() | | $.isFunction() | $.extend() | | $.isNumeric() | $.matches() | | $.isString() | $.parseHTML() |


$.fn

The main prototype for collections, allowing you to extend cash with plugins by adding methods to all collections.

$.fn // => cash.prototype
$.fn.myMethod = function(){ }; // Custom method added to all collections
$.fn.extend(object); // Add multiple methods to the prototype.

$.fn.add()

Returns a new collection with the element(s) added to the end.

$(element).add(element) // => collection
$(element).add(selector) // => collection
$(element).add(collection) // => collection

$.fn.addClass()

Adds the className argument to collection elements.

$(element).addClass(className) // => collection

$.fn.after()

Inserts content or elements after the collection.

$(element).after(element) // => collection
$(element).after(htmlString) // => collection

$.fn.append()

Appends the target element to the each element in the collection.

$(element).append(element) // => collection

$.fn.appendTo()

Adds the elements in a collection to the target element(s).

$(element).appendTo(element) // => collection

$.fn.attr()

Without attrValue, returns the attribute value of the first element in the collection. With attrValue, sets the attribute value of each element of the collection.

$(element).attr(attrName) // => AttributeValue
$(element).attr(attrName, attrValue) // => collection

$.fn.before()

Inserts content or elements before the collection.

$(element).before(element) // => collection
$(element).before(htmlString) // => collection

$.fn.children()

Without a selector specified, returns a collection of child elements. With a selector, returns child elements that match the selector.

$(element).children() // => collection
$(element).children(selector) // => collection

$.fn.closest()

Returns the closest matching selector up the DOM tree.

$(element).closest() // => collection
$(element).closest(selector) // => collection

$.fn.clone()

Returns a clone of the collection.

$(element).clone() // => collection

$.fn.css()

Returns a CSS property value when just property is supplied. Sets a CSS property when property and value are supplied, and set multiple properties when an object is supplied. Properties will be autoprefixed if needed for the user's browser.

$(element).css(property) // => value
$(element).css(property, value) // => collection
$(element).css(object) // => collection

$.fn.data()

Link some data (string, object, array, etc.) to an element when both key and value are supplied. If only a key is supplied, returns the linked data and falls back to data attribute value if no data is already linked. Multiple data can be set when an object is supplied.

$(element).data(key) // => value
$(element).data(key, value) // => collection
$(element).data(object) // => collection

$.fn.each()

Iterates over a collection with callback(value, index, array).

$(element).each(callback) // => collection

$.fn.empty()

Empties an elements interior markup.

$(element).empty() // => collection

$.fn.eq()

Returns a collection with the element at index.

$(element).eq(index) // => collection

$.fn.extend()

Adds properties to the cash collection prototype.

$.fn.extend(source) // => object

$.fn.filter()

Returns the collection that results from applying the filter method.

$(element).filter(function) // => collection

$.fn.find()

Returns selector match descendants from the first element in the collection.

$(element).find(selector) // => collection

$.fn.first()

Returns the first element in the collection.

$(element).first() // => collection

$.fn.get()

Returns the element at the index.

$(element).get(index) // => domNode

$.fn.has()

Returns boolean result of the selector argument against the collection.

$(element).has(selector) // => boolean

$.fn.hasClass()

Returns the boolean result of checking if the first element in the collection has the className attribute.

$(element).hasClass(className) // => boolean

$.fn.height()

Returns the height of the element.

$(element).height() // => Integer

$.fn.html()

Returns the HTML text of the first element in the collection, sets the HTML if provided.

$(element).html() // => HTML Text
$(element).html(HTML) // => HTML Text

$.fn.index()

Returns the index of the element in its parent if an element or selector isn't provided. Returns index within element or selector if it is.

$(element).index() // => Integer
$(element).index(element) // => Integer

$.fn.innerHeight()

Returns the height of the element + padding.

$(element).innerHeight() // => Integer

$.fn.innerWidth()

Returns the width of the element + padding.

$(element).innerWidth() // => Integer

$.fn.insertAfter()

Inserts collection after specified element.

$(element).insertAfter(element) // => collection

$.fn.insertBefore()

Inserts collection before specified element.

$(element).insertBefore(element) // => collection

$.fn.is()

Returns whether the provided selector, element or collection matches any element in the collection.

$(element).is(selector) // => boolean

$.fn.last()

Returns last element in the collection.

$(element).last() // => collection

$.fn.next()

Returns next sibling.

$(element).next() // => collection

$.fn.not()

Filters collection by false match on selector.

$(element).not(selector) // => collection

$.fn.off()

Removes event listener from collection elements.

$(element).off(eventName,eventHandler) // => collection

$.fn.offset()

Get the coordinates of the first element in a collection relative to the document.

$(element).offset() // => Object

$.fn.offsetParent()

Get the first element's ancestor that's positioned.

$(element).offsetParent() // => collection

$.fn.on()

Adds event listener to collection elements. Event is delegated if delegate is supplied.

$(element).on(eventName, eventHandler) // => collection
$(element).on(eventName, delegate, eventHandler) // => collection

$.fn.one()

Adds event listener to collection elements that only triggers once for each element. Event is delegated if delegate is supplied.

$(element).one(eventName, eventHandler) // => collection
$(element).one(eventName, delegate, eventHandler) // => collection

$.fn.outerHeight()

Returns the outer height of the element. Includes margins if margin is set to true.

$(element).outerHeight() // => Integer
$(element).outerHeight(includeMargin) // => Integer

$.fn.outerWidth()

Returns the outer width of the element. Includes margins if margin is set to true.

$(element).outerWidth() // => Integer
$(element).outerWidth(includeMargin) // => Integer

$.fn.parent()

Returns parent element.

$(element).parent() // => collection

$.fn.parents()

Returns collection of elements who are parents of element. Optionally filtering by selector.

$(element).parents() // => collection
$(element).parents(selector) // => collection

$.fn.position()

Get the coordinates of the first element in a collection relative to its offsetParent.

$(element).position() // => object

$.fn.prepend()

Prepends element to the each element in collection.

$(element).prepend(element) // => collection

$.fn.prependTo()

Prepends elements in a collection to the target element(s).

$(element).prependTo(element) // => collection

$.fn.prev()

Returns the previous adjacent element.

$(element).prev() // => collection

$.fn.prop()

Returns a property value when just property is supplied. Sets a property when property and value are supplied, and sets multiple properties when an object is supplied.

$(element).prop(property) // => property value
$(element).prop(property, value) // => collection
$(element).prop(object) // => collection

$.fn.ready()

Calls callback method on DOMContentLoaded.

$(document).ready(callback) // => collection/span

$.fn.remove()

Removes collection elements from the DOM.

$(element).remove() // => collection

$.fn.removeAttr()

Removes attribute from collection elements.

$(element).removeAttr(attrName) // => collection

$.fn.removeClass()

Removes className from collection elements. Accepts space-separated classNames for removing multiple classes. Providing no arguments will remove all classes.

$(element).removeClass() // => collection
$(element).removeClass(className) // => collection

$.fn.removeData()

Removes linked data and data-attributes from collection elements.

$(element).removeData(name) // => collection

$.fn.removeProp()

Removes property from collection elements.

$(element).removeProp(propName) // => collection

$.fn.serialize()

When called on a form, serializes and returns form data.

$(form).serialize() // => String

$.fn.siblings

Returns a collection of sibling elements.

$(element).siblings() // => collection

$.fn.text

Returns the inner text of the first element in the collection, sets the text if textContent is provided.

$(element).text() // => text
$(element).text(textContent) // => collection

$.fn.toggleClass

Adds or removes className from collection elements based on if the element already has the class. Accepts space-separated classNames for toggling multiple classes, and an optional force boolean to ensure classes are added (true) or removed (false).

$(element).toggleClass(className) // => collection
$(element).toggleClass(className,force) // => collection

$.fn.trigger()

Triggers supplied event on elements in collection. Data can be passed along as the second parameter.

$(element).trigger(eventName) // => collection
$(element).trigger(eventName,data) // => collection

$.fn.val()

Returns an inputs value. If value is supplied, sets all inputs in collection's value to the value argument.

$(input).val() // => value
$(input).val(value) // => collection

$.fn.width()

Returns the width of the element.

$(element).width() // => number

Type Checking

$.isArray()

Check if the argument is an array.

$.isArray([1,2,3]) // => true

$.isFunction()

Check if the argument is a function.

var func = function(){};
$.isFunction(func) // => true

$.isNumeric()

Check if the argument is numeric.

$.isNumeric(57) // => true

$.isString()

Check if the argument is a string.

$.isString('hello') // => true

Utilities

$.each()

Iterates through a collection and calls the callback method on each.

$.each(collection, callback) // => collection

$.extend()

Extends target object with properties from the source object. If no target is provided, cash itself will be extended.

$.extend(target,source) // => object

$.matches()

Checks a selector against an element, returning a boolean value for match.

$.matches(element, selector) // => boolean

$.parseHTML()

Returns a collection from an HTML string.

$.parseHTML(htmlString) // => Collection