我尝试编写一个可以以最短的方式选择元素的函数,这是我的正则表达式:
/^(\w+)?(\S)(\w\S+)$/gi
这是我的代码
function getEl(selector){
if(typeof selector === 'string'){
var match = null;
var regex = /^(\w+)?(\S)(\w\S+)$/gi;
match = regex.exec(selector);
if(match){
if(match[1]){
selector = Array.prototype.slice.call(document.querySelectorAll(match[0]))
}else{
if(match[2] && match[2] === "#"){
selector = document.getElementById(match[3])
}else if(match[2] === "."){
selector = Array.prototype.slice.call(document.getElementsByClassName(match[3]))
}else{
selector = document.getElementsByTagName(match[3])
}
}
}
}
return selector
}
我编写的代码仅检查一次like this
我希望它像This