33 lines
1014 B
JavaScript
33 lines
1014 B
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = qsa;
|
|
// Zepto.js
|
|
// (c) 2010-2015 Thomas Fuchs
|
|
// Zepto.js may be freely distributed under the MIT license.
|
|
var simpleSelectorRE = /^[\w-]*$/;
|
|
var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);
|
|
|
|
function qsa(element, selector) {
|
|
var maybeID = selector[0] === '#',
|
|
maybeClass = selector[0] === '.',
|
|
nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,
|
|
isSimple = simpleSelectorRE.test(nameOnly),
|
|
found;
|
|
|
|
if (isSimple) {
|
|
if (maybeID) {
|
|
element = element.getElementById ? element : document;
|
|
return (found = element.getElementById(nameOnly)) ? [found] : [];
|
|
}
|
|
|
|
if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));
|
|
|
|
return toArray(element.getElementsByTagName(selector));
|
|
}
|
|
|
|
return toArray(element.querySelectorAll(selector));
|
|
}
|
|
module.exports = exports['default']; |