//封裝類(相容處理)
function
getclasses
(classname
, parent
) else }}
}return
result;};
//封裝類結束
**中也給大家作出了詳細注釋,getclasses(selector,parent)方法變化並不大,只是在得到所有標籤的時候使用了:
//1、獲取所有元素
:document.getelementsbytagname("*")
var
tags
= gettags
("*"
, parent
);
//**中我已經做出了詳細的注釋,接下來我們做出分解,首先我們要判斷selector的形式,也就是說選擇器是乙個字串型別,接下來,我們並沒有使用判斷各個選擇器形式的不同,而做出相關處理,而是用了正規表示式來進行匹配,正規表示式的用法這裡不做出詳細的講解,有興趣的可以上網查詢資料,當然,如果不會正規表示式的話,用我們之前的方法,判斷開頭字元的方法也行,這裡使用正則來進行講解。統一封裝的呼叫
function
$get
(selector
,parent
)else if
(parent
.nodetype)
//都不符合條件的話,
parent
就是乙個
dom陣列
//使用迴圈遍歷
for(
var i=
0;i<
parent
.length;i++
)else if
(name=
regresult[3
])else if
(name=
regresult[4
])//
因為此時是陣列,所以使用
改變物件指向
result
.push.(
result
,singleresult);}
}}return
result
;};
我們使用正規表示式的exec()的方法進行選擇器檢測,返回的是乙個陣列,如果進行匹配到的話,我們此時就要進行判斷parent的型別,如果parent是字串的話,我們將直接呼叫$get(parent),將parent傳入,如果是乙個dom節點型別,我們就直接將讓他變成乙個陣列:
//如果都不是前邊兩種情況的話,parent就是乙個dom陣列,我們此時就將parent進行迴圈遍歷:如果匹配到if(
regresult
)else if
(parent
.nodetype)
for(var i=
0;i<
parent
.length;i++
)else if
(name=
regresult[3
])else if
(name=
regresult[4
])//
因為此時是陣列,所以使用
改變物件指向
result
.push.(
result
,singleresult
);}
Javascript框架思想
js的學習中,我們總是借鑑或使用jqury,這時候學習前端的工程師們,就想自己封裝乙個,但是封裝屬於自己的框架,確實不太容易,所以,jqury使我們很好的乙個範本,所以,我i門來研究一下jqury的框架思想,同時自己也可以模仿封裝。下面我們學習,封裝選擇器的思想。首先js中的選擇器有 id選擇器,類...
Javascript框架思想
js的學習中,我們總是借鑑或使用jqury,這時候學習前端的工程師們,就想自己封裝乙個,但是封裝屬於自己的框架,確實不太容易,所以,jqury使我們很好的乙個範本,所以,我i門來研究一下jqury的框架思想,同時自己也可以模仿封裝。下面我們學習,封裝選擇器的思想。首先js中的選擇器有 id選擇器,類...
JavaScript框架思想3
在前邊幾篇文章中,我們封裝了基本的選擇器通過 get selecteor,parent 選取指定元素下的選擇器,但是並不完美,作為乙個追求完美的前段開發工程師加上與之俱來的強迫症,這些 功能,怎麼能滿足呢,下面,我們又要把這些 進行公升級,就像lol,大家都懂得哦 那麼首先我們來分析情況,引數sel...