Javascript 如何使我的css选择器引擎更灵活?
我为我的自定义javascript库创建了一个自定义css选择器引擎函数Javascript 如何使我的css选择器引擎更灵活?,javascript,dom,css-selectors,Javascript,Dom,Css Selectors,我为我的自定义javascript库创建了一个自定义css选择器引擎函数 var catchEl = function(el) { // Catching elements by identifying the first character of a string var firstChar = el[0], actualNode = el.substring(1, el.length), elements, tempElems = []; if (!document.
var catchEl = function(el) { // Catching elements by identifying the first character of a string
var firstChar = el[0],
actualNode = el.substring(1, el.length),
elements,
tempElems = [];
if (!document.querySelectorAll) {
try{
if(firstChar === "#") {//So, we can look for ids
tempElems.push(document.getElementById(actualNode));
} else if(firstChar === ".") {//or classes
elements = document.getElementsByClassName(actualNode);
for(i=0;i<elements.length;i++) tempElems.push(elements[i]);
} else {//or tags
elements = document.getElementsByTagName(el);
for(i=0;i<elements.length;i++) tempElems.push(elements[i]);
}
} catch(e) {};
} else {//but before everything we must check if the best function is available
try{
elements = document.querySelectorAll(el);
for(i=0;i<elements.length;i++) tempElems.push(elements[i]);
} catch(e) {};
}
return tempElems;
}
var catchEl=函数(el){//通过识别字符串的第一个字符来捕获元素
var firstChar=el[0],
实际节点=el.子串(1,el.长度),
元素,
节拍=[];
如果(!document.queryselectoral){
试一试{
如果(firstChar==“#”){//So,我们可以查找ID
push(document.getElementById(actualNode));
}else if(firstChar==”){//or类
elements=document.getElementsByClassName(actualNode);
对于(i=0;iyou应该阅读John Resig的《JavaScript忍者的秘密》一书,他是jquery的创作者,这本书专门指导您创建css选择器引擎。这个问题不属于Stackoverflow,因为它不是一个简单的问答,只有一个答案。在中可能更好。