Sha256: d96a6061a5a089096bd5aa71c7ccdeb71791d66a35fe70085da218fb7568f909

Contents?: true

Size: 719 Bytes

Versions: 95

Compression:

Stored size: 719 Bytes

Contents

/**
 * Module dependencies.
 */

var query = require('query');

/**
 * Element prototype.
 */

var proto = Element.prototype;

/**
 * Vendor function.
 */

var vendor = proto.matches
  || proto.webkitMatchesSelector
  || proto.mozMatchesSelector
  || proto.msMatchesSelector
  || proto.oMatchesSelector;

/**
 * Expose `match()`.
 */

module.exports = match;

/**
 * Match `el` to `selector`.
 *
 * @param {Element} el
 * @param {String} selector
 * @return {Boolean}
 * @api public
 */

function match(el, selector) {
  if (vendor) return vendor.call(el, selector);
  var nodes = query.all(selector, el.parentNode);
  for (var i = 0; i < nodes.length; ++i) {
    if (nodes[i] == el) return true;
  }
  return false;
}

Version data entries

95 entries across 82 versions & 1 rubygems

Version Path
ende-0.1.12 vendor/assets/components/component-matches-selector/index.js
ende-0.1.12 vendor/components/component-matches-selector/index.js
ende-0.1.11 vendor/components/component-matches-selector/index.js
ende-0.1.11 vendor/assets/components/component-matches-selector/index.js
ende-0.1.10 vendor/assets/components/component-matches-selector/index.js
ende-0.1.10 vendor/components/component-matches-selector/index.js
ende-0.1.9 vendor/assets/components/component-matches-selector/index.js
ende-0.1.9 vendor/components/component-matches-selector/index.js
ende-0.1.8 vendor/assets/components/component-matches-selector/index.js
ende-0.1.8 vendor/components/component-matches-selector/index.js
ende-0.1.7 vendor/assets/components/component-matches-selector/index.js
ende-0.1.7 vendor/components/component-matches-selector/index.js
ende-0.1.6 vendor/assets/components/component-matches-selector/index.js
ende-0.1.6 vendor/components/component-matches-selector/index.js
ende-0.1.5 vendor/assets/components/component-matches-selector/index.js