HTML DOM 訪問

HTML DOM 訪問

引言

HTML DOM(文檔對象模型)是現代Web開發中不可或缺的一部分。它允許開發者通過JavaScript操作HTML文檔中的元素,從而實現豐富的交互效果。本文將詳細介紹HTML DOM的訪問方法,包括如何獲取元素、如何修改元素屬性以及如何添加或刪除元素等內容。

一、獲取元素

在HTML DOM中,我們可以通過多種方式獲取元素:

1. 通過ID獲取元素

使用getElementById()方法可以根據元素的ID獲取單個元素。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>通過ID獲取元素</title>
</head>
<body><p id="myParagraph">這是一個段落。</p><button type="button" onclick="getElementById('myParagraph').innerHTML='Hello World!';">改變段落內容</button></body>
</html>

2. 通過標簽名獲取元素

使用getElementsByTagName()方法可以根據標簽名獲取所有相同標簽的元素集合。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>通過標簽名獲取元素</title>
</head>
<body><h2>這是一個標題</h2>
<h2>這是另一個標題</h2><button type="button" onclick="document.getElementsByTagName('h2')[0].innerHTML='Hello World!';">改變第一個標題內容</button></body>
</html>

3. 通過類名獲取元素

使用getElementsByClassName()方法可以根據類名獲取所有具有該類的元素集合。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>通過類名獲取元素</title>
</head>
<body><p class="myClass">這是一個段落。</p>
<p class="myClass">這是另一個段落。</p><button type="button" onclick="document.getElementsByClassName('myClass')[0].innerHTML='Hello World!';">改變第一個段落內容</button></body>
</html>

4. 通過Name獲取元素

使用getElementsByName()方法可以根據元素的name屬性獲取所有具有該name屬性的元素集合。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>通過Name獲取元素</title>
</head>
<body><input type="text" name="myInput" value="Hello World!"><button type="button" onclick="document.getElementsByName('myInput')[0].value='Goodbye World!';">改變輸入框內容</button></body>
</html>

二、修改元素屬性

獲取到元素后,我們可以通過修改元素的屬性來改變其行為或外觀。以下是一些常用的屬性:

1. innerHTML

innerHTML屬性可以用來獲取或設置元素的內部HTML內容。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>修改innerHTML屬性</title>
</head>
<body><p id="myParagraph">這是一個段落。</p><button type="button" onclick="document.getElementById('myParagraph').innerHTML='Hello World!';">改變段落內容</button></body>
</html>

2. className

className屬性可以用來獲取或設置元素的類名。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>修改className屬性</title>
</head>
<body><p id="myParagraph" class="myClass">這是一個段落。</p><button type="button" onclick="document.getElementById('myParagraph').className='anotherClass';">改變段落類名</button></body>
</html>

3. style

style屬性可以用來獲取或設置元素的樣式。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>修改style屬性</title>
</head>
<body><p id="myParagraph" style="color: red;">這是一個段落。</p><button type="button" onclick="document.getElementById('myParagraph').style.color='blue';">改變段落顏色</button></body>
</html>

三、添加或刪除元素

在HTML DOM中,我們可以通過以下方式添加或刪除元素:

1. 創建元素

使用document.createElement()方法可以創建一個新的元素。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>創建元素</title>
</head>
<body><button type="button" onclick="document.createElement('p'); alert('創建了一個新段落');">創建一個新段落</button></body>
</html>

2. 插入元素

使用appendChild()insertBefore()insertAdjacentElement()方法可以將元素插入到文檔中。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>插入元素</title>
</head>
<body><button type="button" onclick="document.getElementById('myDiv').appendChild(document.createElement('p')); alert('插入了一個新段落');">在div中插入一個新段落</button></body>
</html>

3. 刪除元素

使用removeChild()方法可以刪除元素。以下是示例代碼:

<!DOCTYPE html>
<html>
<head>
<title>刪除元素</title>
</head>
<body><p id="myParagraph">這是一個段落。</p><button type="button" onclick="document.getElementById('myDiv').removeChild(document.getElementById('myParagraph')); alert('刪除了一個段落');">刪除段落</button></body>
</html>

四、總結

HTML DOM訪問是Web開發中非常重要的一環。通過掌握本文介紹的方法,開發者可以輕松地獲取、修改和操作HTML文檔中的元素,從而實現豐富的交互效果。希望本文對您有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913081.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913081.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913081.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

雙系統如何做接口認證-V1

現有A系統&#xff0c;B系統&#xff0c;A系統啟動的時候調用B系統的注冊接口API1&#xff08;把A系統配置信息注冊到B系統&#xff09;&#xff0c;A系統定時向B系統接口AP2發送心跳信息&#xff0c;B系統根據業務情況&#xff0c;調用A系統的業務接口AP3&#xff0c;請設計兩…

Wireshark TS | 詭異的光貓網絡問題

前言 來自于朋友分享的一個案例&#xff0c;最后定位的原因是光貓問題&#xff0c;而類似這類的設備所產生的網絡問題&#xff0c;也曾碰到過兩三次&#xff0c;但這一次的數據包現象挺特別&#xff0c;分析思路和過程也有所不同&#xff0c;故記錄分享一下。 問題背景 用戶所反…

mac mini m4安裝node.js@16以下版本方法

設備&#xff1a;mac mini m4 目的&#xff1a;使用nvm 安裝 node.js14.x 版本 結果&#xff1a;安裝不上 原因&#xff1a;Node.js 14 發布時&#xff0c;Apple Silicon&#xff08;M1/M2&#xff09;尚未普及&#xff0c;因此 沒有官方預編譯的 macOS ARM64 版本 處理方案&am…

系統安全設計方案,軟件系統安全設計方案

1.1 總體設計 1.1.1 設計原則 1.2 物理層安全 1.2.1 機房建設安全 1.2.2 電氣安全特性 1.2.3 設備安全 1.2.4 介質安全措施 1.3 網絡層安全 1.3.1 網絡結構安全 1.3.2 劃分子網絡 1.3.3 異常流量管理 1.3.4 網絡安全審計 1.3.5 網絡訪問控制 1.3.6 完整性檢查 1.…

Python入門Day3

Python的基礎數據類型 1.Python中提供了六種內置的數據類型&#xff0c;一般用于存儲數據&#xff1a; –數值Number –字符串String –列表List –元組Tuple –字典Dictionary –集合Set 2.Python中的數據類型可以做以下幾個分類&#xff1a; –有序&#xff1a;可以使用下標…

前端富文本添加錄音功能方案

為富文本編輯器添加錄音功能可以增強內容創作的多樣性。以下是幾種實現方案&#xff1a; 方案一&#xff1a;基于Web Audio API原生實現 實現步驟獲取用戶麥克風權限 navigator.mediaDevices.getUserMedia({ audio: true }).then(stream > { /* 處理音頻流 */ }).catch(err …

解鎖阿里云Hologres:開啟實時數據分析新時代

引言在當今這個數字化浪潮洶涌澎湃的大數據時代&#xff0c;數據就如同企業和組織的 “數字石油”&#xff0c;成為了最具價值的資產之一。隨著信息技術的飛速發展&#xff0c;各行業所產生和收集的數據量正以指數級的速度增長&#xff0c;從社交媒體上的用戶互動信息&#xff…

python學習打卡day59

DAY 59 經典時序預測模型3 知識點回顧&#xff1a; SARIMA模型的參數和用法&#xff1a;SARIMA(p, d, q)(P, D, Q)m模型結果的檢驗可視化&#xff08;昨天說的是摘要表怎么看&#xff0c;今天是對這個內容可視化&#xff09;多變量數據的理解&#xff1a;內生變量和外部變量多變…

java中agent的作用

一 java中agent1.1 agent-javaagent 是 Java 虛擬機 (JVM) 提供的一個啟動參數&#xff0c;用于在 Java 程序 main 方法執行之前&#xff0c;加載一個特殊的 Java 代理程序&#xff08;Java Agent&#xff09;。它的核心作用是對運行中的 Java 程序進行字節碼層面的動態修改、監…

[C/C++內存安全]_[中級]_[如何避免數組訪問越界]

場景 C/C的標準在C26以前還沒支持內存安全的訪問連續內存的類或特性。在開發分析內存數據或文件數據的程序時&#xff0c;經常需要把一段內存數據復制到另一個堆空間里。 這時目標內存空間由于起始地址的移動&#xff0c;剩余大小的計算錯誤&#xff0c;經常會導致訪問越界錯誤…

rabbitmq 與 Erlang 的版本對照表 win10 安裝方法

win10 64位系統 安裝的版本 otp_win64_27.3.3.exe rabbitmq-server-4.1.1.exe rabbitmq 與 Erlang 的版本對照表 Erlang Version Requirements This guide covers Erlang/OTP version requirements https://www.rabbitmq.com/docs/which-erlang Erlang 28 is not currently…

kali安裝教程

kali教程 我下載的是kali的集成環境&#xff0c;可以直接進行打開&#xff0c;無需進行安裝。 Get Kali | Kali Linux&#xff0c; 官網下載路徑 直接按enter鍵 安裝完成 生成一個小皮安裝鏈接 會給你生成一個外網和內網地址&#xff0c; 可以進行瀏覽 點擊我同意這個協議…

微信小程序入門實例_____快速搭建一個快遞查詢小程序?

&#x1f337;&#x1f337;之前幾篇博文我們一起開發了天氣查詢、單詞速記和待辦事項小程序&#xff0c;這次我們來對生活中常用的功能 —— 快遞查詢來探索相關的小程序。網購已經成為大家生活的一部分&#xff0c;有了自己的快遞查詢小程序&#xff0c;不用切換多個應用&…

【防火墻基礎之傳統墻到 UTM 到 NGFW 再到 AI 的變化】

防火墻技術演進與未來趨勢&#xff1a;從傳統防御到AI驅動的智能安全 防火墻技術歷經數十年發展&#xff0c;已從早期的簡單包過濾演進為融合AI的智能安全平臺。當前&#xff0c;傳統爬蟲防護技術如頻率限制和人機校驗已無法應對現代攻擊&#xff0c;而全面風控體系通過多維協同…

【仿muduo庫實現并發服務器】Poller模塊

仿muduo庫實現并發服務器 1.Poller模塊成員變量創建epoll模型對于一個描述符添加或修改事件監控對于一個描述符移除事件監控啟動epoll事件監控&#xff0c;獲取所有活躍連接 1.Poller模塊 Poller模塊主要是對任意的描述符進行IO事件監控。 它是對epoll的封裝&#xff0c;可以讓…

小程序學習筆記:使用 MobX 實現全局數據共享,實例創建、計算屬性與 Actions 方法

在小程序開發過程中&#xff0c;組件間的數據共享是一個常見且關鍵的問題。今天&#xff0c;我們就來深入探討一下如何在小程序中實現全局數據共享&#xff0c;借助 MobX 相關的包&#xff0c;讓數據管理變得更加高效便捷。 什么是全局數據共享 全局數據共享&#xff0c;也被…

觀測云 × AWS SSO:權限治理可觀測實踐

AWS IAM Identity Center 介紹 AWS IAM Identity Center&#xff08;原 AWS Single Sign-On&#xff09;是 AWS 提供的一項云原生身份與訪問管理&#xff08;IAM&#xff09;服務&#xff0c;旨在集中簡化多 AWS 賬戶、多業務應用的安全訪問控制。 觀測云 觀測云是一款專為 …

springboot整合配置swagger3

一. swagger3介紹 Swagger 3 是基于 OpenAPI 規范 3.0 的 API 文檔工具&#xff0c;用于設計、構建和消費 RESTful API。它通過標準化描述 API 的接口、參數、響應等元數據&#xff0c;實現以下核心功能&#xff1a; 自動生成交互式文檔API 測試與調試代碼生成&#xff08;客…

RabbitMQ 4.1.1初體驗

為什么選擇 RabbitMQ&#xff1f;* RabbitMQ 是一款可靠且成熟的消息代理和流處理中間件&#xff0c;可輕松部署在云端、本地數據中心或您的開發機上&#xff0c;目前已被全球數百萬用戶使用。 優勢在哪里 互操作性 RabbitMQ 支持多種開放標準協議&#xff0c;包括 AMQP 1.0 和…

【精華】QPS限流等場景,Redis其他數據結構優劣勢對比

下面是一個詳細的 Redis 數據結構對比表&#xff0c;比較它們在實現 QPS 限流 / 滑動窗口統計 / 查定比監控等場景中的適用性&#xff1a; ? Redis 數據結構對比表&#xff08;用于接口限流 / QPS 監控&#xff09; 維度String INCR 固定窗口List 滑動窗口Hash 計數器ZSet 滑…