DOM 基本操作 - 事件基礎


theme: smartblue

一、事件概述

JavaScript使我們有能力創建動態頁面,而事件是可以被JavaScript偵測到的行為。

簡單理解: 觸發---響應機制。

網頁中的每個元素都可以產生某些可以觸發JavaScript的事件,例如,我們可以在用戶點擊某按鈕時產生一個事件,然后去執行某些操作。

事件由三部分組成: 事件源,事件類型,事件處理程序

```

<script>//點擊一個按鈕,彈出對話框
//事件是有三部分組成: 事件源、事件類型、事件處理程序,我們也稱為事件三要素
//(1)事件源事件被觸發的對象誰按鈕
var btn = document.getElementById('btn');
//(2)事件類型如何觸發什么事件,比如鼠標點擊(onclick)還是鼠標經過 還是鍵盤按下
//(3)事件處理程序通過一個函數賦值的方式完成
btn.onclick= function(){alert("clicked")
}
</script>

```

二、 常見鼠標事件

2024-07-10_22-02-47.png

三、 操作元素

3.1 改變元素內容

element.innerText

從起始位置到終止位置的內容,但它去除 html標簽,同時空格和換行也會去掉

element.innerHTML

起始位置到終止位置的全部內容,包括html標簽,同時保留空格和換行

```

<div id="div1"></div>
<div id="div2"></div><script>// 寫var div1 = document.querySelector("#div1")var div2 = document.querySelector("#div2")div1.innerText = "<strong>innerText</strong>"div2.innerHTML = "<strong>innerHTML</strong>"// 讀console.log(div2.innerText)console.log(div2.innerHTML)</script>

``` innerText和innerHTML的區別

  1. innerText不識別html標簽非標準 去除空格和換行
  2. innerHTML 識別html標簽 W3C標準 保留空格和換行的

這兩個屬性是可讀寫的, 可以獲取元素里面的內容

2024-07-10_22-25-31.png

3.2 改變屬性內容

1.innerrext、innerHTM 改變元素內容

2.src、href

3.id、alt、title

```

<img src = "./1.jpg">
<button id="btn">change image</button><script>var btn = document.querySelector("#btn")var img = document.querySelector("img")btn.onclick = ()=>{img.src = "./2.jpg"}
</script>

```

3.3 改變表單的屬性

利用 DOM 可以操作如下表單元素的屬性:

type、value、checked、selected、disabled

```

<input type="text" value="please input">
<button id="change">change value</button>
<button id="disable">change value</button>
<script>// 獲取元素var changeBtn =  document.querySelector("#change")var disableBtn =  document.querySelector("#disable")var input =  document.querySelector("input")// 注冊事件,處理程序changeBtn.onclick = ()=>{input.value = "changed"}disableBtn.onclick = ()=>{input.disabled = true}
</script>

```

3.4 改變樣式屬性

我們可以通過JS 修改元素的大小、顏色、位置等樣式.

1.element.style行內樣式操作

2.element.className 類名樣式操作

```

<button id="change">change</button>
<script>// 獲取元素var changeBtn =  document.querySelector("#change")var div =  document.querySelector("div")changeBtn.onclick = ()=>{div.style.backgroundColor = 'black'div.style.width = '250px'div.className= 'change div'}
</script><style>div{width: 200px;height: 200px;background-color: red;}div{width: 100px;height: 100px;background-color: yellow;}
</style>

```

注意:

  1. Js 修改 style 樣式操作, 產生的是行內樣式,css 權重比較高
  2. Js 里面的樣式采取駝峰命名法 比如 fontsize、backgroundcolor
  3. className 會直接更改元素的類名,會覆蓋原先的類名; 如果想保留原先的類名,可以做多類名選擇器

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

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

相關文章

libvirt qemu添加新類型磁盤格式

目錄 前言 1 qemu部分 1.1 磁盤格式驅動創建 1.2 json文件創建數據結構對象&#xff1a; 2 libvirt部分&#xff1a; 2.1 對應關系設置 2.2參設向指令格式轉換 前言 qemu中有很多虛擬機磁盤格式&#xff0c;比如較為熟悉的qcow2&#xff0c;luks&#xff0c;r…

C語言文件操作技術詳解

C語言提供了一套強大的文件操作API&#xff0c;允許開發者進行文件讀寫、訪問和管理。本文將深入探討C語言文件操作的背后的技術&#xff0c;包括基本文件操作、文件讀寫以及文件權限和屬性。我們將通過詳細的解釋和實用的代碼案例來展示如何有效地使用這些技術。 第一部分&am…

C++ //練習 14.52 在下面的加法表達式中分別選用了哪個operator+?列出候選函數、可行函數及為每個可行函數的實參執行的類型轉換:

C Primer&#xff08;第5版&#xff09; 練習 14.52 練習 14.52 在下面的加法表達式中分別選用了哪個operator&#xff1f;列出候選函數、可行函數及為每個可行函數的實參執行的類型轉換&#xff1a; struct LongDouble{//用于演示的成員opeartor&#xff1b;在通常情況下是個…

自動駕駛技術的原理

自動駕駛汽車利用視覺識別功能來感知周圍環境并做出駕駛決策。以下是自動駕駛汽車如何利用視覺識別功能及其原理的詳細說明&#xff1a; ### 視覺識別在自動駕駛中的應用 1. **目標檢測&#xff08;Object Detection&#xff09;**&#xff1a;識別并定位道路上的其他車輛、行人…

【安全設備】EDR

一、什么是EDR EDR即集檢測、防御、運維功能于一體的主機安全及管理系統。EDR是一款集成了豐富的系統加固與防護、網絡加固與防護等功能的主機安全產品。 二、EDR的部署模式 EDR&#xff08;Endpoint Detection and Response&#xff0c;端點檢測和響應&#xff09;的部署方…

開源項目編譯harbor arm架構的包 —— 筑夢之路

GitHub - amy5200/harbor-arm64 先做個記錄&#xff0c;空了再驗證

矩陣分解及其在機器學習中的應用

陣分解是一種廣泛應用于數據挖掘和機器學習領域的技術&#xff0c;它通過將一個高維數據集分解為多個低維的數據集&#xff0c;以降低數據的復雜性、提高計算效率&#xff0c;并發現數據中的隱含結構。本文將詳細介紹矩陣分解的基本概念、主要方法及其在機器學習中的應用。 一、…

JWT總結

JWT&#xff08;JSON Web Tokens&#xff09;是一種用于在雙方之間安全傳輸信息的簡潔的、URL安全的令牌標準。以下是關于JWT的結構、作用、優點以及可能出現的問題的詳細解答&#xff1a; 一、JWT的結構 JWT的結構由三個部分組成&#xff0c;它們通過.&#xff08;點&#x…

fastadmin框架后臺列表固定第一行列表固定頭部

在列表中&#xff0c;如果列表字段很多&#xff0c;并且每頁數量很多&#xff0c;往下拉的時候就不好辨別數據是哪個字段的&#xff0c;對用戶造成不好的瀏覽體驗。 通過以下方法&#xff0c;可以實現將列表的第一行&#xff0c;也就是頭部&#xff0c;固定在第一行顯示&#…

TLS與SSL的區別

目錄 一、協議版本二、安全性三、性能四、兼容性五、總結 TLS&#xff08;Transport Layer Security&#xff09;和SSL&#xff08;Secure Sockets Layer&#xff09;都是為了保障互聯網通信安全而設計的協議&#xff0c;主要用于加密客戶端與服務器之間的數據傳輸。盡管它們的…

14-62 劍和詩人36 - 混合專家 (MoE) 擴展 AI 視野

了解混合專家 (MoE) 混合專家 (MoE) 是一種機器學習技術&#xff0c;它將多個“專家”神經網絡模型組合成一個更大的模型。MoE 的目標是通過組合專業專家&#xff08;每個專家專注于不同的子領域&#xff09;來提高 AI 系統的準確性和能力。 MoE 模型的一些關鍵特征&#xff1…

探索Kotlin:從K1到K2

人不走空 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌賦&#xff1a;斯是陋室&#xff0c;惟吾德馨 嘿&#xff0c;小伙伴們&#xff01;今天我們來聊聊Kotlin&#xff0c;這個在安卓開發圈里越來越火的編程語言。…

蘋果手機抹機(馬來西亞)操作步驟

蘋果手機抹機&#xff08;馬來西亞&#xff09;操作步驟 操作環境操作步驟 操作環境 蘋果6s&#xff0c;沒有插卡&#xff0c;就連接上了一個wifi 操作步驟

XML Schema 雜項數據類型

XML Schema 雜項數據類型 XML Schema 提供了多種數據類型,用于定義 XML 文檔中元素和屬性的結構和內容。除了常見的簡單類型(如字符串、整數、日期等)和復雜類型(如元素和屬性的組合)之外,XML Schema 還包括一些雜項數據類型,用于處理特定的數據格式和驗證需求。本文將…

錯位情緣懸疑升級

?&#x1f525;【錯位情緣&#xff0c;懸疑升級&#xff01;關芝芝與黃牡丹的驚世婚約】&#x1f525;?在這個迷霧重重的劇場&#xff0c;一場前所未有的錯位大戲正悄然上演&#xff01;&#x1f440; 你沒看錯&#xff0c;昔日兄弟的前女友關芝芝&#xff0c;竟搖身一變成了…

Unity-Invoke帶參數的代碼一個

Unity的分幀加載,其實沒多難,只要理解了原理 而Unity的延遲有兩種寫法, 一是, StartCoroutinue 二是, Invoke() 我記得之前,有一種Action Delay的寫法(找到在補上) 三現在更多的應該是, async task 等 其實原理都是一樣的(雖然底層邏輯不一樣,完全不一樣,但…

API 類別 - 選擇器

API 類別 - 選擇器 選擇器 API 是一種常用的接口,它允許開發人員通過特定的標準從一組數據中選擇特定的項目。這類 API 廣泛應用于各種編程場景,特別是在需要從大量數據中快速準確地提取信息時。本文將探討選擇器 API 的概念、應用場景、工作原理以及如何在實際項目中有效使…

FastAPI 學習之路(三十七)元數據和文檔 URL

實現前的效果 那么如何實現呢&#xff0c;第一種方式如下&#xff1a; from routers.items import item_router from routers.users import user_router""" 自定義FastApi應用中的元數據配置Title&#xff1a;在 OpenAPI 和自動 API 文檔用戶界面中作為 API 的…

【SGX系列教程】(五)enclave多線程測試,以及EPC內存測試

文章目錄 一. 概述二. 原理分析2.1 多線程在Enclave中的實現流程2.2 多線程和EPC內存分配之間的沖突2.3 解決多線程和EPC內存分配沖突的策略 三. 源碼分析3.1 代碼結構3.2 源碼3.2.1 App文件夾3.2.2 Enclave文件夾3.2.3 Makefile 3.3 總結 四.感謝支持 一. 概述 在Intel SGX環境…

Go語言特點

Go語言主要具有以下特點和優勢&#xff1a; 1. **高效的性能**&#xff1a;Go語言的性能與Java或C相似&#xff0c;通常比Python快30倍。 2. **并發性**&#xff1a;Go語言致力于簡化編程&#xff0c;其創新之處在于goroutines和通道&#xff0c;提供了輕量級的線程和gorouti…