I'm trying to create a method that reproduces the selector of angularjs directives:
// this method tries to apply a directive on: Attributes (A), Element/tags (E) , css class (C), Comments (M)
app.directive("myDirective",{restrict: 'AECM'})
My idea:
var elements=[];
if (restriction.indexOf('A')>=0) {
var res=document.querySelectorAll("["+element+"]");
res.length > 0 && ( elements = elements.concat(res));
}
if (restriction.indexOf('C')>=0) {
var res=document.querySelectorAll("."+element);
res.length > 0 && ( elements = elements.concat(res));
}
if (restriction.indexOf('E')>=0) {
var res=document.querySelectorAll(element);
res.length > 0 && ( elements = elements.concat(res));
}
// TODO: comments (M)
return elements;
Is this the best way to do it? how angularjs handles it? i tried to check the angularjs code but didn't find anything.