使用正则表达式检查CSS选择器

时间:2018-11-24 17:55:12

标签: javascript regex

我尝试编写一个可以以最短的方式选择元素的函数,这是我的正则表达式:

/^(\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

0 个答案:

没有答案