Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- qsa2 = function(node, selector) {
- var selectors = selector.split(" ");
- var matches;
- var children;
- var child;
- var parents = node.getElementsByTagName(selectors[0]);
- if (parents.length > 0) {
- for (var i = 0; i < parents.length; i++) {
- children = parents[i].getElementsByTagName(selectors[1]);
- if (children.length > 0) {
- for (var i = 0; i < parents.length; i++) {
- child = children[i];
- matches.push(child); // somehow store our result here
- }
- }
- }
- }
- return matches;
- }
- function qsa2(selector) {
- var next = document;
- selector.split(/s+/g).forEach(function(sel) {
- var arr = [];
- (Array.isArray(next) ? next : [next]).forEach(function(el) {
- arr = arr.concat( [].slice.call(el.getElementsByTagName(sel) ));
- });
- next = arr;
- });
- return next;
- }
- if (parents.length > 0) {
- for (var i = 0; i < parents.length; i++) {
- children = parents[i].getElementsByTagName(selectors[1]);
- if (children.length > 0) {
- for (var i = 0; i < parents.length; i++) { // <-----------------------
- for (var i = 0; i < parents.length; i++) {
- children = parents[i].getElementsByTagName(selectors[1]);
- for (var k = 0; k < children.length; i++) {
- var matches = [];
- function recursivelySelectChildren(selectors, nodes){
- if (selectors.length != 0){
- for (var i = 0; i < nodes.length; i++){
- recursivelySelectChildren(nodes[i].getElementsByTagName(selectors[0]), selectors.slice(1))
- }
- } else {
- matches.push(nodes);
- }
- }
- function qsa(selector, node){
- node = node || document;
- recursivelySelectChildren(selector.split(" "), [node]);
- return matches;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement