Sha256: dccc25d5ac0b2cd8e50c68b24f7ac024025613f4373ffc86bdb8c6620545cb96

Contents?: true

Size: 1.47 KB

Versions: 24

Compression:

Stored size: 1.47 KB

Contents

//>>excludeStart("exclude", pragmas.exclude);
define([ "shoestring" ], function(){
//>>excludeEnd("exclude");

  /**
	 * Checks the current set of elements against the selector, if one matches return `true`.
	 *
	 * @param {string} selector The selector to check.
	 * @return {boolean}
	 * @this {shoestring}
	 */
	shoestring.fn.is = function( selector ){
		var ret = false, self = this, parents, check;

		// assume a dom element
		if( typeof selector !== "string" ){
			// array-like, ie shoestring objects or element arrays
			if( selector.length && selector[0] ){
				check = selector;
			} else {
				check = [selector];
			}

			return _checkElements(this, check);
		}

		parents = this.parent();

		if( !parents.length ){
			parents = shoestring( doc );
		}

		parents.each(function( i, e ) {
			var children;

//>>includeStart("development", pragmas.development);
				try {
//>>includeEnd("development");
					children = e.querySelectorAll( selector );
//>>includeStart("development", pragmas.development);
				} catch( e ) {
					shoestring.error( 'queryselector', selector );
				}
//>>includeEnd("development");

			ret = _checkElements( self, children );
		});

		return ret;
	};

	function _checkElements(needles, haystack){
		var ret = false;

		needles.each(function() {
			var j = 0;

			while( j < haystack.length ){
				if( this === haystack[j] ){
					ret = true;
				}

				j++;
			}
		});

		return ret;
	}

//>>excludeStart("exclude", pragmas.exclude);
});
//>>excludeEnd("exclude");

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
trusty-cms-6.3.1 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.7 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.6 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.5 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.4 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.3 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.2 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.1 node_modules/shoestring/src/dom/is.js
trusty-cms-4.3.5 node_modules/shoestring/src/dom/is.js
trusty-cms-5.0.0 node_modules/shoestring/src/dom/is.js
trusty-cms-4.3.4 node_modules/shoestring/src/dom/is.js
trusty-cms-4.3.3 node_modules/shoestring/src/dom/is.js
trusty-cms-4.3.2 node_modules/shoestring/src/dom/is.js
trusty-cms-4.3.1 node_modules/shoestring/src/dom/is.js
trusty-cms-4.3 node_modules/shoestring/src/dom/is.js
trusty-cms-4.2.3 node_modules/shoestring/src/dom/is.js
trusty-cms-4.2.2 node_modules/shoestring/src/dom/is.js
trusty-cms-4.2.1 node_modules/shoestring/src/dom/is.js
trusty-cms-4.2 node_modules/shoestring/src/dom/is.js
trusty-cms-4.1.9 node_modules/shoestring/src/dom/is.js