tft每日頭條

 > 生活

 > dom的節點

dom的節點

生活 更新时间:2025-02-02 13:02:27

dom的節點(DOM-元素節點屬性)1

元素節點屬性

childNodes和firstChild和lastChild

1.childNodes //獲取當前元素節點的所有的子節點

舉個小例子:

dom的節點(DOM-元素節點屬性)2

運行結果返回了一個節點列表:

dom的節點(DOM-元素節點屬性)3

節點列表是裝有當前元素節點所有的子節點

dom的節點(DOM-元素節點屬性)4

我們可以看一下當前節點列表的長度:

dom的節點(DOM-元素節點屬性)5

運行結果為3:

dom的節點(DOM-元素節點屬性)6

這三個元素節點分别就是em、strong和文本内容

dom的節點(DOM-元素節點屬性)7

這時候就要涉及到我們之前學的DOM節點的三種類型

元素節點 文本節點 屬性節點

這三個節點又有三個非常重要的屬性:

分别為:nodeNamenodeTypenodeValue

對于這三個屬性不同節點類型轉換出來的效果不一樣

例如:document.getElementById(‘box’).nodeType; //返回1就為元素節點

★★★

dom的節點(DOM-元素節點屬性)8

childNodes包括的節點有元素節點文本節點兩種

舉個小例子:

dom的節點(DOM-元素節點屬性)9

運行結果對應上面表應該為節點名稱em,1和null

dom的節點(DOM-元素節點屬性)10

dom的節點(DOM-元素節點屬性)11

dom的節點(DOM-元素節點屬性)12

同樣我們再來看一下文本節點:

dom的節點(DOM-元素節點屬性)13

運行結果為#text、3和文本内容

dom的節點(DOM-元素節點屬性)14

dom的節點(DOM-元素節點屬性)15

dom的節點(DOM-元素節點屬性)16

dom的節點(DOM-元素節點屬性)17

2.firstChild和lastChild //找到當前元素節點的首位和末位

舉個小例子:

dom的節點(DOM-元素節點屬性)18

運行結果為EM和strong

dom的節點(DOM-元素節點屬性)19

dom的節點(DOM-元素節點屬性)20

以上就是元素節點屬性的方法

dom的節點(DOM-元素節點屬性)21

删除空白節點

我們還是拿上面的例子來看:

dom的節點(DOM-元素節點屬性)22

運行結果如下:

dom的節點(DOM-元素節點屬性)23

dom的節點(DOM-元素節點屬性)24

那麼為什麼我們改變div的書寫格式後,會顯示出5個元素節點呢?

我們來分析一下這5個節點:

1.div到em的空白

2.em

3.文本内容

4.strong

5.strong到div的空白

我們去給它進行回車、換行、tab鍵、空格等,它裡面的元素節點就會有變化

因為我們不需要這些空白節點,我們如何将這些空白節點給去除呢?

在我們去除空白節點之前,先要識别空白節點

通過正則表達式來識别空白節點,這裡先給大家寫一下這次用到的正則表達式,後面會詳細講到。

/^\s $/.test()

使用這個正則來進行驗證,如果符合返回true,否則返回false

我們先來驗證一下:

dom的節點(DOM-元素節點屬性)25

運行結果如下,空格時為true,有字符時為false:

dom的節點(DOM-元素節點屬性)26

dom的節點(DOM-元素節點屬性)27

我們這樣就可以封裝一個函數來進行删除空白節點:

dom的節點(DOM-元素節點屬性)28

運行結果為:

dom的節點(DOM-元素節點屬性)29

dom的節點(DOM-元素節點屬性)30

我們來返回一下文本類型nodeType未删除之前和删除之後分别有幾個:

dom的節點(DOM-元素節點屬性)31

運行結果未删之前為3,删除之後為1如下:

dom的節點(DOM-元素節點屬性)32

dom的節點(DOM-元素節點屬性)33

從這裡也可以看出,多出來的兩個元素節點的類型為文本

dom的節點(DOM-元素節點屬性)34

但是我們上面的正則表達式 /^s $/.test() 它原來數據上的子節點并沒有發生變化,隻是在調用函數時有效果,空白節點還依然存在。

對于這種情況我們就需要firstChildlastChild這兩個

因為這兩種方法必須從父節點上删除空白節點,這時候就需要我們重新去封裝函數

dom的節點(DOM-元素節點屬性)35

運行結果如下:

dom的節點(DOM-元素節點屬性)36

dom的節點(DOM-元素節點屬性)37

首先它的數量變為了3,它的firstChild變為了EM

注意:

這裡删除數組元素的時候必須要倒叙删除!正着删除會混亂。

dom的節點(DOM-元素節點屬性)38

- 寫作不易,大家多多關注,謝謝啦-

---web分享,分享的不隻是web

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved