#Cash An absurdly small jQuery alternative for modern browsers
Cash is a small library for modern browsers that provides jQuery style syntax to wrap modern Vanilla JS features. It allows developers to use the jQuery syntax they already know, and utilizes modern browser features to minimize the codebase. 100% feature parity with jQuery isn't a goal, but cash comes helpfully close, covering most day to day use cases.
Add cash to your project via the jsDelivr CDN, and use cash to manipulate the DOM!
<script src="https://cdn.jsdelivr.net/cash/1.0.0/cash.min.js"></script>
<script>
$(function(){
$('html').addClass('dom-loaded');
$('<footer>Appended with cash</footer>').appendTo(document.body);
});
</script>
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
The main prototype. Adding properties and methods will add it to all collections.
$.fn // => cash.prototype
Returns a new collection with the element(s) added to the end.
$(element).add(element) // => collection
$(element).add(selector) // => collection
$(element).add(collection) // => collection
Adds the className argument to collection elements.
$(element).addClass(className) // => collection
Inserts content or elements after the collection.
$(element).after(element) // => collection
$(element).after(htmlString) // => collection
Appends the target element to the each element in the collection.
$(element).append(element) // => collection
Adds the elements in a collection to the target element(s).
$(element).appendTo(element) // => collection
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
Inserts content or elements before the collection.
$(element).before(element) // => collection
$(element).before(htmlString) // => collection
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
Returns the closest matching selector up the DOM tree.
$(element).closest() // => collection
$(element).closest(selector) // => collection
Returns a clone of the collection.
$(element).clone() // => collection
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
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.
$(element).data(key) // => value
$(element).data(key, value) // => collection
Iterates over a collection with callback(value, index, array).
$(element).each(callback) // => collection
Empties an elements interior markup.
$(element).empty() // => collection
Returns a collection with the element at index.
$(element).eq(index) // => collection
Adds properties to the cash collection prototype.
$.fn.extend(source) // => object
Returns the collection that results from applying the filter method.
$(element).filter(function) // => collection
Returns selector match descendants from the first element in the collection.
$(element).find(selector) // => collection
Returns the first element in the collection.
$(element).first() // => collection
Returns the element at the index.
$(element).get(index) // => domNode
Returns boolean result of the selector argument against the collection.
$(element).has(selector) // => boolean
Returns the boolean result of checking if the first element in the collection has the className attribute.
$(element).hasClass(className) // => boolean
Returns the height of the element.
$(element).height() // => Integer
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
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
Returns the height of the element + padding.
$(element).innerHeight() // => Integer
Returns the width of the element + padding.
$(element).innerWidth() // => Integer
Inserts collection after specified element.
$(element).insertAfter(element) // => collection
Inserts collection before specified element.
$(element).insertBefore(element) // => collection
Returns whether the provided selector, element or collection matches any element in the collection.
$(element).is(selector) // => boolean
Returns last element in the collection.
$(element).last() // => collection
Returns next sibling.
$(element).next() // => collection
Filters collection by false match on selector.
$(element).not(selector) // => collection
Removes event listener from collection elements.
$(element).off(eventName,eventHandler) // => collection
Adds event listener to collection elements. Event is delegated if delegate is supplied.
$(element).on(eventName, eventHandler) // => collection
$(element).on(eventName, delegate, eventHandler) // => collection
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
Returns the outer height of the element. Includes margins if margin is set to true.
$(element).outerHeight() // => Integer
$(element).outerHeight(includeMargin) // => Integer
Returns the outer width of the element. Includes margins if margin is set to true.
$(element).outerWidth() // => Integer
$(element).outerWidth(includeMargin) // => Integer
Returns parent element.
$(element).parent() // => collection
Returns collection of elements who are parents of element. Optionally filtering by selector.
$(element).parents() // => collection
$(element).parents(selector) // => collection
Prepends element to the each element in collection.
$(element).prepend(element) // => collection
Prepends elements in a collection to the target element(s).
$(element).prependTo(element) // => collection
Returns the previous adjacent element.
$(element).prev() // => collection
Returns property value.
$(element).prop(property) // => Property value
Calls callback method on DOMContentLoaded.
$(document).ready(callback) // => collection/span
Removes collection elements from the DOM.
$(element).remove() // => collection
Removes attribute from collection elements.
$(element).removeAttr(attrName) // => collection
Removes className from collection elements. Accepts space-separated classNames for removing multiple classes.
$(element).removeClass(className) // => collection
Removes linked data and data-attributes from collection elements.
$(element).removeData(name) // => collection
When called on a form, serializes and returns form data.
$(form).serialize() // => String
Returns a collection of sibling elements.
$(element).siblings() // => collection
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
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
Triggers supplied event on elements in collection.
$(element).trigger(eventName) // => collection
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
Returns the width of the element.
$(element).width() // => number
Iterates through a collection and calls the callback method on each.
$.each(collection, callback) // => collection
Extends target object with properties from the source object. If no target is provided, cash itself will be extended.
$.extend(target,source) // => object
Checks a selector against an element, returning a boolean value for match.
$.matches(element, selector) // => boolean
Returns a collection from an HTML string.
$.parseHTML(htmlString) // => Collection
Check if the argument is a function.
var func = function(){};
$.isFunction(func) // => true
Check if the argument is a string.
$.isString('hello') // => true
Check if the argument is an array.
$.isString([1,2,3]) // => true
Check if the argument is numeric.
$.isNumeric(57) // => true