5 个回答

原理很简单,就是:

function $(id){
        var element=document.getElementByTag(id)
        if(element==null)
        element=document.getElementByClassName(id);
        if(element==null)
        element=document.getElementByID(id);
        return element;
}
$("div")

查看jq源码吧!

window.$=HTMLElement.prototype.$=
  function(selector){
    var elems=
      (this==window?document:this)
        .querySelectorAll(selector);
    return elems.length==0?null:
           elems.length==1?elems[0]:
                           elems;
  }

之前我看过JQ的源码并且仿造写过JQ$()的选择器的函数,它其中就是判断你传入进来的是那一类型的选择器,我们都知道选择器可以分为,#id,.类名,然后还有标签选择器等等,就是在传入参数的时候就行判断,判断它的前缀是哪一个然后使用不同的方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏