最贊回答 / 慕尼黑3821393
首先selector是傳入的參數,就是jquery中$("#first")中的#first。因為document.getElementById()傳入的參數沒有前面的#,例如一個div<div id='frist'>,原生的javascript使用document.getElementById('first'),在jquery中是$('#first'),?? /[^#].*/.exec(selector)[0]就是為了幫你去掉那個#號。再說一下exec(),它的返回值是一個類數組,類數組的第一...
2016-06-15
最新回答 / 午哥
如果使用dom對象設置,需要使用dom對象獲取,例如:$.data(ele1,key,value)如果使用jQuery對象設置,需要使用jQuery對象獲取,例如:$.data($('#aaron'),key,value)
2016-05-27
最新回答 / ST_Lighter
Aaron中的匿名函數有25ms的延時 因此是執行Aaron([...], function() {...})?25+ms后才會執行.而callbacks的實現中并沒有任何延時操作, 因此會先執行callbacks.fire().可以給callbacks.fire()加setTimeout使得其在后面執行.另外arguments.callee(List)這里callee其實是匿名函數,而不是Aaron, 所以Aaron中add的function是連續執行的,并不是各25ms執行一個.傳遞的參數List似乎...
2016-05-25
最新回答 / daydaystudy
1、DOM 對象屬性是通過className獲取class屬性的值, 而HTML 標簽屬性是通過class獲取class屬性的值2、IE8之前獲取class屬性值都是通過getAttribute('className'),明顯獲取的是DOM對象的屬性而不是HTML的屬性,但是實際上想要獲取的是HTML的屬性3、所以說混淆了,但是以后不兼容IE8的話直接使用getAttribute('class')就行了,或者直接.className,不用getAttribute方法
2016-05-21
最贊回答 / Whistle2
還有就是,如果把所有的jQuery實例方法都掛載在 jQuery的原型下面,那每個jQuery對象都直接繼承這寫方法,太占內存,所以強制new init,每個實例對象可以通過init和jQuery的原型鏈來查找那些實例方法。
2016-05-19
最新回答 / CUIKingdom
去看一下defineProperty函數說明,本句代碼的我的理解是:新建一個cache對象,然后從0開始存取,0表示屬性名稱,是一個遞增的數值
2016-05-17
最新回答 / _莫忘初衷_
<div data-test="this is test" ></div> ? ?$("div").data("test"); //this is test!; 讀取H5設置好的data屬性是可以的?
2016-05-15
最新回答 / 萌萌噠的小超超
每添加一個函數,執行一次。可以手動控制執行的時間。ex: callbacks.fire("nihao");執行了一段其它代碼;callbacks.fire(fn1);
2016-05-15
最新回答 / E_MO
艾倫老師在代碼的上面說了這句話:因為是數組對象,意味著我們可以用silce來直接取值了所以slice內部的slice方法可能是Array的slice方法,使用apply對其進行調用
2016-04-07
最新回答 / weibo_噠噠噠fly_0
一個html標簽對應一個DOM對象,append 所追加的那個DOM對象從來都是同一個DOM,也就是同一個html,append只是把html元素的位置移了移
2016-03-31
最新回答 / CUIKingdom
沒有語法錯誤,從引用上考慮,先 創建一個 {} 賦值給?optionsCache[options] ,然后把optionsCache[options] 的引用賦值給 object,這樣optionsCache[options] 和object都指向了同一個對象
2016-03-23