DOM擴充套件

2021-08-15 23:31:00 字數 2705 閱讀 4601

1.selector api level1 ie8+

queryselector() 「body」 「#mydiv」 「.selected」 (取類為此的第乙個元素)

queryselectorall() 返回乙個nodelist例項,返回的值實際上是帶有所有屬性和方法的nodelist,底層類似於一組元素快照,而非對文件進行搜尋的動態查詢。這樣實現可以避免使用nodelist物件通常會引起的大多數效能問題。

2.selector api level2

function

matchesselector

(element, selector)else

if(element.msmatchesselector)else

if(element.mozmatchesselector)else

if(element.webkitmatchesselector)else

}

ie9+、f3.5、s4+、ch、o10+
對於元素之間的空格,ie9之前版本不會反回文字節點,而其他所有瀏覽器都會返回文字節點。

// childelementcount

// firstelementchild (不包括文字節點和注釋)

// lastelementchild

// previouselementsibling

// nextelementsibling

var i,

len,

child = mydiv.firstelementchild;

while(child != mydiv.lastelementchild)

1.getelementsbyclassname() 返回nodelist

元素上呼叫只會返回後代元素匹配的元素。

classlist(新集合型別domtokenlist的例項) f3.6+ ch

非html5刪除類名 : 類名分割充足 splice刪除一項後join拼接

html5: classlist

2.焦點 btn.focus();

document.activeelement    節點
document.hasfocus() 布林

3.htmldocument變化

(1)readystate (loading complete)

alert(document.readystate == 「complete」);

(2)相容模式 compatmode (標準:css1compat 混雜:compatmode)

(3)head屬性 document.head (ch s5)

var head = document.head || document.getelementsbytagname(「head」)[0];

4.字符集屬性 document.charset

ie safari opera chrome ie safari chrome

if (document.charset || document.defaultcharset)

fairfox

if (document.characterset)

5.自定義屬性 (f6+ ch)

6.插入標記

html5規範

(1)innerhtml

為innerhtml設定html字串後瀏覽器會將這個字串解析為相應的dom樹,因此設定了innerhtml之後,再從中讀取html字串,會得到與設定時不一樣的結果,原因在於返回的字串時根據原始html字串建立的dom樹經過序列化之後的結果。

大多數瀏覽器這樣插入script指令碼不執行,除了<=ie8,<=ie8滿足兩種條件執行:

defer **在作用域標籤後跟著 <=ie9

element.innerhtml = 「

1.文件模式 document.documentmode

2.children <=ie8包含注釋 ie9+只返回元素節點

3.contains()

dom3 comparedocumentposition()

function

contains

(refnode, othernode)else

if(typeof refnode.comparedocumentposition == "function")elseelse

}while(node !== null);

return

false;

}}

4.插入文字
element.innertext = element.innertext;   //過濾掉了html標籤

function

getinnertext

(element)

function

setinnertext

(element, text)else

}

innertext會忽略行內樣式和指令碼, textcontent會像返回其它文字一樣返回。

5.滾動

scrollintoview

scrollintoviewifneeded(true) true盡量在中部

scrollbylines(5) 5行

scrollbypages(5) 5頁

DOM擴充套件

1選擇符 queryselector 返回第乙個匹配的元素 queryselectorall 返回所有匹配的元素 html5 getelementbyclassname 引數為乙個或多個類名,引數不重要,返回是乙個nodelist 集合 classlist add 加入字串 contains 列表中...

DOM及其擴充套件

元素物件的標準特性 1 obj.id 2.obj.classname 3.obj.title 4.obj.lang 元素內容的語言 5.obj.dir ltr 或rtl 自定義特性 加 data 字首 特殊的特性 style onclick 取得特性 getattribute setattribut...

DOM的擴充套件

dom擴充套件主要為selectors api和html5 selectors api的兩個核心放方法queryselector 和queryselectorall 1.queryselector 接收css選擇符,返回與該模式匹配的第乙個元素。獲取body元素 var body document....