31 lines
976 B
JavaScript
31 lines
976 B
JavaScript
|
|
"use strict";
|
||
|
|
|
||
|
|
exports.__esModule = 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"];
|