亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

DOM頁面是什么 dom是什么意思啊( 四 )


訪問text節(jié)點的文本內容,可以通過nodeValue或者data屬性 。
下面簡單說說它提供的一些方法
appendData(); // 在text末尾加內容 deleteData(offset, count); // 從offset指定的位置開始刪除count個字符 還有insertDate、replaceData、splitText等方法,就不一一說了,用的機會很少,可以用的時候再查閱 。
然后它還有一個lenght屬性,返回字符長度的 。
這里說一個常見的坑 。比如下面這個html結構
這里,ul的第一個子節(jié)點(firstChild)是什么呢?第一眼看過去,肯定認為是li了,但是實際上,你會發(fā)現(xiàn)不是li,而是一個文本節(jié)點!
這是因為瀏覽器認為ul和第一個li之間有空白字符,所以就有文本節(jié)點了 。
這里一個常見的問題就是遍歷ul的childNodes的時候,遍歷的元素一定要判斷下nodeType是不是等于1(等于1就代表是元素節(jié)點),這樣才能跳過這個坑 。否則你也可以刪除所有的空格和換行符 。
創(chuàng)建文本節(jié)點的方法是document.createTextNode
然后接下來和操作Element類型一樣,就是再插入到元素中,瀏覽器就可以看到了 。
六、其他的一些類型 Comment、DocumentType和DocumentFragment
這些不常用的一句話帶過把
Comment是注釋節(jié)點
DocumentType就是doctype節(jié)點,通過docment.doctype來訪問
DocumentFragment這個節(jié)點是一個文檔片段,偶爾會用到 。
比如一種常見的用法是,在一個ul中插入3個li 。
如果你循環(huán)插入3次,那么瀏覽器就要渲染3次,對性能有蠻大的影響 。
所以大家一般這么做

var fragment = document.createDocumentFragment(); 然后循環(huán)把li,用appendChild插入到fragment里面
最后在一次把fragment插入到ul里面 。這樣就會很快 。
七、DOM擴展
進過上面講的這么多節(jié)點類型,想必大家對DOM節(jié)點已經(jīng)有了很深的了解,下面講一講DOM擴展的一些東西 。
瀏覽器為了方便開發(fā)者,擴展了一些DOM功能 。
因為是瀏覽器自己擴展的,所以使用前兼容性問題一定要注意
判斷“標準模式”和“混雜模式”通過 document.compatMode和新的document.documentMode
上面不是說了一個文本節(jié)點作為第一子元素的坑嗎,所以瀏覽器又實現(xiàn)了一個children屬性,這個屬性只包含元素節(jié)點 。
為了方便判斷A節(jié)點是不是B節(jié)點的子節(jié)點,引入了contains方法,比如
B.contains(A); // true就代表是,false就代表不是 這個方法有兼容性問題,使用前可以谷歌解決方法 。
針對訪問元素,又提供了4個方法
innerText/innerHTML/outerTEXT/outerHTML 。
通過這些方法,可以讀和寫元素 。
其中,*TEXT是返回文本內容 *HTML是返回html文本 。
而outer*則是代表是否包含元素本身 。
實際使用來看,在讀內容的時候 inner和outer沒有區(qū)別 。
在把內容寫入元素的時候,就是是否包含元素本身的區(qū)別 。
重要的是,這幾個方法有性能問題,比如在IE中,通過inner刪除的節(jié)點,其綁定的事件依然在內存中,就很容易消耗大量內存 。*
還有一個技巧是,插入大量的html代碼,用innerHTML是非??斓模ㄗh使用 。


以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助: