Skip to content

@arian /Slick.Finder-lite.js
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A lite version of Slick.Finder for modern browsers/mobile.
/*
---
name: Slick.Finder
description: The new, superfast css selector engine.
provides: Slick.Finder
requires: Slick.Parser
...
*/
(function(){
// Slick
var Slick = (this.Slick || {});
Slick.version = '1.1.6-light';
// Slick finder
Slick.search = function(context, expression, append){
var result = context.querySelectorAll(expression);
if (!append || !append.push) return result;
for (var i = 0; i < result.length; i++) append.push(result[i]);
return append;
};
Slick.find = function(context, expression){
return context.querySelector(expression);
};
// Slick containment checker
Slick.contains = function(container, node){
return container.contains(node);
};
// Slick attribute getter
Slick.getAttribute = function(node, name){
return node.getAttribute(name);
};
Slick.hasAttribute = function(node, name){
return node.hasAttribute(name);
};
// Slick matcher
var documentElement = document.documentElement,
matchesSelectors = ['matchesSelector', 'webkitMatchesSelector', 'mozMatchesSelector'],
matchesSelector;
for (var i = 0; i < matchesSelectors.length; i++){
if (typeof documentElement[matchesSelectors[i]] != 'undefined'){
matchesSelector = matchesSelectors[i];
break;
}
}
Slick.match = function(node, selector){
if (!(node && selector)) return false;
if (!selector || selector === node) return true;
return node[matchesSelector](selector);
};
// Slick attribute accessor
Slick.defineAttributeGetter = function(name, fn){
// unimplemented
return this;
};
Slick.lookupAttributeGetter = function(name){
// unimplemented
return null;
};
// Slick pseudo accessor
Slick.definePseudo = function(name, fn){
// unimplemented
return this;
};
Slick.lookupPseudo = function(name){
// unimplemented
return null;
};
// Slick overrides accessor
Slick.override = function(regexp, fn){
// unimplemented
return this;
};
Slick.isXML = function(){
// unimplemented
return false;
};
var uidx = 1;
Slick.uidOf = function(node){
return node.uniqueNumber || (node.uniqueNumber = uidx++);
};
if (!this.Slick) this.Slick = Slick;
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.