日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在dom最前面插入_JavaScript中的DOM

發布時間:2025/3/8 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在dom最前面插入_JavaScript中的DOM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 關于DOM

文檔對象模型(DocumentObject Model),是基于瀏覽器編程的一套API接口,W3C出臺的推薦標準,每個瀏覽器都有一些細微的差別,其中以Mozilla(火狐)的瀏覽器最與標準接近。

通過 DOM,可以訪問所有的 HTML元素,連同它們所包含的文本和屬性。可以對其中的內容進行修改和刪除,同時也可以創建新的元素。

2. 動態改變文檔內容

要想對頁面的內容做修改,需要如下方式來操作:

? a.解析文檔(如HTML)并生成DOM樹

? b.通過DOM提供的屬性和方法,獲取或改變文檔的內容

2.1 DOM的節點

HTML 文檔中的每個成分都是一個節點(Node)

DOM 是這樣規定的:

  • 整個文檔是一個文檔節點
  • 每個 HTML 標簽是一個元素節點
  • 包含在 HTML 元素中的文本是文本節點
  • 每一個 HTML 屬性是一個屬性節點
  • 注釋屬于注釋節點

2.1.1 節點間的關系

節點彼此都有等級關系

父節點、子節點、兄弟節點(同級節點)

2.2 DOM標準接口

W3C提供了三類DOM標準接口,如下:

? a. 核心DOM,適用于各種結構化文檔

? b.HTML DOM,專用于HTML文檔

c. XML DOM,專用于XML文檔

3. 核心DOM操作

3.1 訪問節點

訪問節點兼容處理

getElement系列方法

使用getElement系列方法來訪問指定的節點

  • getElementById():返回對擁有指定id的第一個對象的引用
  • getElementsByTagName():返回帶有指定名稱的對象集合
  • getElementsByClassName():返回指定的類選擇器的集合
  • getElementsByName():返回帶有指定名稱的對象集合(注意不是所有標簽都有name屬性)

3.1.1 節點信息1

每個節點都擁有包含節點某些信息的屬性

  • nodeName(節點名稱)
  • nodeValue(節點值)
  • nodeType(節點類型)

3.1.2 節點信息2

nodeName

  • 元素節點的 nodeName (節點名稱)是標簽名稱
  • 屬性節點的 nodeName 是屬性名稱
  • 文本節點的 nodeName 永遠是 #text
  • 文檔節點的 nodeName 永遠是 #document

nodeValue

  • 對于文本節點,nodeValue 屬性包含文本
  • 對于屬性節點,nodeValue 屬性包含屬性值

nodeType

  • 元素 1 、屬性 2、 文本 3、 注釋 8、 文檔 9
  • 上面不同的數值代表不同的節點類型

3.2 創建和操作節點

3.2.1 主要方法

方法 說 明

createElement( tagName) 創建一個名為tagName的新元素節點,用法Document.createElement(標簽名)

ANode.appendChild( BNode) 把子節點B追加到父節點A里面的末尾

insertBefore( ANode,BNode ) 把A節點插入到B節點之前

Node.loneNode(deep) deep為true則復制該節點以及該節點的所有子節點,為false則只復制該節點和其屬性

3.2.2 操作節點的屬性

3.3 刪除和替換節點

方法 說 明

removeChild( node) 刪除指定的節點(用父級元素去調用它)

replaceChild( newNode, oldNode) 用newNode來替換oldNode(https://www.cnblogs.com/zzq919101/p/6017152.html)

3.3.1 removeChild()示例代碼如下

var?tb?=?document.getElementById("tb");//先找到要刪除的節點,這里要刪除一行var?tr?=?tb.lastChild.lastChild;//這里也需要父節點操作子節點tr.parentNode.removeChild(tr);??

3.3.2 replaceChild()示例代碼

var?tb?=?document.getElementById("tb");var?tr?=?document.createElement("tr");var?td1?=?document.createElement("td");var?td2?=?document.createElement("td");td1.innerHTML?=?"我的內容1";td2.innerHTML?=?"我的內容2";tr.appendChild(td1);tr.appendChild(td2);//父節點操作子節點//兩個參數,第一個表示新節點,第二個表示舊節點,這里用心節點替換舊節點tb.lastChild.replaceChild(tr,tb.lastChild.firstChild);?

3.4 其他

id,value等操作

innerHTML和innerText的區別

  • 如果內容中有html標簽,使用innerHTML時,內容中的html標簽會被解析出來,而使用innerText時,html只會被當作文本顯示出來

元素.style.樣式

className

3.5 示例

代碼1:

結果1:

代碼2:

結果2:

代碼3:

結果3:

4. HTML DOM操作

? HTML文檔中的每個節點,都是DOM對象,每個DOM對象都有屬于自己的屬性和方法.

? HTML DOM在操作表格時,我們把一個表格看成是一個table對象,那么一個table對象是由若干個行對象(row)組成的,而其中每個行對象又是由若干個單元格對象(cell)組成的

? Table對象可以操作行對象,行對象可以操作單元格對象

4.1 table表格對象

類別 名稱 描述

屬性 rows[] 返回包含表格中所有行的一個數組

方法 insertRow() 在表格中插入一個新行

方法 deleteRow() 從表格中刪除一行

4.2 row行對象

類別 名稱 描述

屬性 cells[] 返回包含行中所有單元格的一個數組

屬性 rowIndex 返回該行在表中的位置

方法 insertCell() 在一行中的指定位置插入一個空的

標簽

方法 deleteCell() 刪除行中指定的單元格

另,對于單元格對象,還有cellIndex可以獲取單元格的索引號

例如,這里需要在表格的末尾追加一行:

var?tb?=?document.getElementById("tb");//添加之前,tb中共有多少個tr,返回的是一個數組var?alltrs?=?tb.lastChild.rows;//先在tb中添加一行,此時行雖然添加了,但行中沒有任何內容//此時傳遞的參數了,是一個添加的位置,是tr的索引號,這里是在末尾追加var?newtr?=?tb.insertRow(alltrs.length);//再在新添加的行中,添加單元格對象var?td1?=?newtr.insertCell(0);var?td2?=?newtr.insertCell(1);//然后還需要往td中添加內容td1.innerHTML?=?"html?dom";td2.innerHTML?=?"測試";?

總結

以上是生活随笔為你收集整理的在dom最前面插入_JavaScript中的DOM的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。