标题所示的问题
原理很简单,就是:
function $(id){
var element=document.getElementByTag(id)
if(element==null)
element=document.getElementByClassName(id);
if(element==null)
element=document.getElementByID(id);
return element;
}
$("div")
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,.类名,然后还有标签选择器等等,就是在传入参数的时候就行判断,判断它的前缀是哪一个然后使用不同的方法。
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
5 回答8k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
5 回答7.7k 阅读
$=document.querySelector(selectors);
https://developer.mozilla.org...