最近在了解 jQuery API的相關知識,方方老師通過自己寫一個jQery API,告訴我們jQuery API的相關知識。以下就是以我對jQuery API的理解。簡單談談?$div.addClass('red') // 可將所有 div 的 class 添加一個 red 和$div.setText('hi') // 可將所有 div 的 textContent 變為 hi 這兩個jQuery API的實現過程。
首先是$div.addClass('xxx') ,需要實現這個功能,首先我們需要獲取每一個div的class屬性值。這個可以通過設置Nodes這個對象來獲取。然后我們可以通過if判斷語句把class屬性值是否是字符串的分開:假如class屬性是字符串,通過 document.querySelectorAll這個DOM API來出獲取class屬性的字符串,再通過For循環把class屬性的字符串傳遞給Nodes這個對象,最后再把Length屬性也傳給Nodes,使之變成一個偽數組;假如class屬性不是字符串,就返回一個屬性{‘0’:nodeorSelector,‘length’:1}這樣的偽數組。獲取div的class屬性值的字符串后,我們就可以通過addClass這個DOM API給我們當前的div添加class屬性。通過For循環,便可以把每一個div添加上對應的class屬性。
然后就是$div.setText('hi'),這個和$div.addClass('xxx') ,前面我們設置好nodes對象之后,便可以一個for循環來實現,通過for循壞遍歷每一個div,在通過DOM API的textContent屬性把相應文本內容寫進去。