問題出在aaRoot.querySelector盡然還有返回值!因為上下文查找的范圍包含了自身了。
拋開IE8以下瀏覽器不說,現代瀏覽器也有這個問題,我覺得這樣的解釋更合理:
querySelector/querySelectorAll下(即是element.開頭,而不是document.)的CSS選擇器是絕對的。它們并不會相對于任何特定的元素,甚至不會相對于調用querySelectorAll的元素。
試下這倆看結果:
aaRoot.querySelector('.aaron span');
aaRoot.querySelector('div div');
拋開IE8以下瀏覽器不說,現代瀏覽器也有這個問題,我覺得這樣的解釋更合理:
querySelector/querySelectorAll下(即是element.開頭,而不是document.)的CSS選擇器是絕對的。它們并不會相對于任何特定的元素,甚至不會相對于調用querySelectorAll的元素。
試下這倆看結果:
aaRoot.querySelector('.aaron span');
aaRoot.querySelector('div div');
2017-08-21
最新回答 / daydaystudy
找到答案了,不包括自身。。。querySelector/querySelectorAll下的CSS選擇器是絕對的。它們并不會相對于任何特定的元素,甚至不會相對于調用querySelectorAll的元素
2017-08-21
核心就是jQuery.fn = jQuery.prototype = {init(){}}
而jQuery函數的返回值為 new jQuery.fn.init()
老師漏了一句,jQuery.fn.init.prototype = jQuery.prototype,如此一來,所有掛到jQuery原型上的方法都會成為$()實例的方法。
而jQuery函數的返回值為 new jQuery.fn.init()
老師漏了一句,jQuery.fn.init.prototype = jQuery.prototype,如此一來,所有掛到jQuery原型上的方法都會成為$()實例的方法。
this.length=1
this[0]=elem
this.get=function(num){
return this[num]
}
在這基礎上其實還可以實現什么shift,push,pop,sort,map,這就是老師所說的類數組吧
實現push就需要每次this.length+1,實現map的方法是接受一個函數做參數,遍歷數組,在每個元素上調用傳入的函數,最后返回結果數組
this[0]=elem
this.get=function(num){
return this[num]
}
在這基礎上其實還可以實現什么shift,push,pop,sort,map,這就是老師所說的類數組吧
實現push就需要每次this.length+1,實現map的方法是接受一個函數做參數,遍歷數組,在每個元素上調用傳入的函數,最后返回結果數組
2017-07-23