JS創建DOM詳解

一、常見的DOM操作

DOM(Document Object Model)是用來描述HTML文檔結構的一種樹形結構,通過它可以對HTML頁面進行操作。JS創建DOM的方法有以下幾種:

1. createElement()

這個方法可以在內存中創建一個新的HTML節點,並把它返回,但是在頁面上不會顯示。如果需要讓它顯示,還需要使用appendChild()方法將它添加到其他節點上。

var newP = document.createElement('p');
newP.innerHTML = '這是新的一段文字';
document.body.appendChild(newP);

2. createTextNode()

這個方法可以創建一個純文本節點,也需要使用appendChild()方法將它添加到其他節點上。

var textNode = document.createTextNode('這是純文本');
document.body.appendChild(textNode);

3. setAttribute()

這個方法可以設置HTML節點的屬性,包括class, id等等。

var newLink = document.createElement('a');
newLink.setAttribute('href', 'https://www.example.com');
newLink.innerHTML = '點擊跳轉';
document.body.appendChild(newLink);

4. removeChild()

這個方法可以刪除一個節點。

var toBeDeleted = document.getElementById('toBeDeleted');
var parent = toBeDeleted.parentNode;
parent.removeChild(toBeDeleted);

二、通過innerHTML創建DOM

在JS中有一個innerHtml屬性,它可以用來操作HTML節點,包括創建、修改、刪除等操作。以下是通過innerHTML屬性創建HTML節點的例子:

var newDiv = document.createElement('div');
newDiv.innerHTML = '<p>這是新的一段文字。</p>';
document.body.appendChild(newDiv);

三、插入節點

在JS中有兩個方法可以用來插入節點,一個是appendChild()方法,一個是insertBefore()方法。以下分別對它們進行介紹:

1. appendChild()

這個方法可以把一個節點添加到另一個節點的最後面。

var parent = document.getElementById('parent');
var child = document.getElementById('child');
parent.appendChild(child);

2. insertBefore()

這個方法可以把一個節點添加到另一個節點的指定位置。

var parent = document.getElementById('parent');
var newChild = document.createElement('div');
newChild.innerHTML = '<p>這是新的一段文字。</p>';
var child = document.getElementById('child');
parent.insertBefore(newChild, child);

四、操作節點的樣式、類、ID

JS也可以通過DOM操作節點的樣式、類、ID等等。以下是具體的例子:

1. 操作節點樣式

var elem = document.getElementById('myDiv');
elem.style.color = 'red';
elem.style.backgroundColor = 'blue'

2. 操作節點類名

var elem = document.getElementById('myDiv');
elem.className = 'newClass';

3. 操作節點ID

var elem = document.getElementById('myDiv');
elem.id = 'newId';

五、事件監聽器

JS可以通過事件監聽器來響應頁面上的用戶操作。以下是一個具體的例子:

var myButton = document.getElementById('myButton');
myButton.addEventListener('click', function() {
  alert('Hello World!');
});

這個例子中,當用戶點擊id為myButton的按鈕時,會彈出一個包含「Hello World!」文字的對話框。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/271433.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 14:55
下一篇 2024-12-16 14:55

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 如何使用JS調用Python腳本

    本文將詳細介紹通過JS調用Python腳本的方法,包括使用Node.js、Python shell、child_process等三種方法,以及在Web應用中的應用。 一、使用Nod…

    編程 2025-04-27
  • 如何反混淆美團slider.js

    本文將從多個方面詳細闡述如何反混淆美團slider.js。在開始之前,需要明確的是,混淆是一種保護JavaScript代碼的方法,其目的是使代碼難以理解和修改。因此,在進行反混淆操…

    編程 2025-04-27
  • Python要學JS嗎?

    Python和JavaScript都是非常受歡迎的編程語言。然而,你可能會問,既然我已經學了Python,是不是也需要學一下JS呢?在本文中,我們將圍繞這個問題進行討論,並從多個角…

    編程 2025-04-27
  • 解決js ajax post 419問題

    對於使用ajax post請求時出現的419問題,我們需要進行以下幾個方面的闡述,包括返回碼的含義、可能出現的情況、解決方案等內容。 一、解析419返回碼 419返回碼錶示用戶超時…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25

發表回復

登錄後才能評論