原生JS查詢元素

2022-02-19 19:11:58 字數 708 閱讀 4031

今天寫了乙個很簡單、很粗暴的通過js根據類來查詢dom元素。

為了降低它的粗暴等級(耗費效能)我給了三個等級。

首先效能最好的,適合ff,ch,ie8,通過queryselectorall這個api。

其次是指定id

最後只能全頁面進行匹配class,不過比較節省的效能的是,在指定class名稱的時候,同時傳入html標籤的型別,用於節省遍歷的範圍!

因為水平有限,目前也只能寫成這種,真的好好奇jq的選擇器是怎麼去匹配dom的,如果有大神看到這篇文章,請不要吝嗇施教。。。

下面貼**:

1

function

$(d,t)

1112

if(type(d) == 'string')else

if(/^#[a-z,a-z,_]\w*$/.test(d))else

if(/^[a-z,a-z,_]+$/.test(d))else

23if

(document.queryselectorall)else38}

39return

em;40 }else

if(e)else

if(i)45}

4647 }else

5051 }

呼叫方式:

$('selector'[,type])

原生JS獲取HTML DOM元素

通過id獲取 getelementbyid document.getelementbyid id 通過name屬性 getelementsbyname document.getelementsbyname name 通過標籤名 getelementsbytagname document.getele...

原生js獲取子元素

獲取子元素的方法有 獲取第乙個demo類 dom document.getelementsbyclassname demo 0 獲取父節點 dom.parentnode 獲取上一兄弟節點 dom.previoussibling dom.nextsibling 獲取第乙個子元素 dom.firstch...

原生js元素歷遍

父元素 parentnode 沒有相容性問題 offsetparent 獲取的是首個獲得 絕對定位或者相對定位 的 元素 最終會找到html 子元素 1 childnodes 屬性。標準的,它返回指定元素的子元素集合,包括html節點,所有屬性 文字。可以通過nodetype來判斷是哪種型別的節點,...