DOM獲取元素、修改元素

来源:https://www.cnblogs.com/czj1213/archive/2022/05/28/16321739.html
-Advertisement-
Play Games

DOM獲取元素、修改元素 1.DOM ①什麼是DOM?作用? DOM是文檔對象模型作用:操作網頁內容,可以開髮網頁內容特效和實現用戶交互。 ②DOM對象 2.獲取DOM元素 ① 根據CSS選擇器來獲取DOM元素 (重點) 思考 獲取一個DOM元素我們使用誰?querySelector() 獲取多個D ...


DOM獲取元素、修改元素

1.DOM

①什麼是DOM?作用?

DOM是文檔對象模型
作用:操作網頁內容,可以開髮網頁內容特效和實現用戶交互。

②DOM對象

對象

2.獲取DOM元素

① 根據CSS選擇器來獲取DOM元素 (重點)

1
2
3

思考

  1. 獲取一個DOM元素我們使用誰?
    querySelector()
  2. 獲取多個DOM元素我們使用誰?
    querySelectorAll()
  3. querySelector() 方法能直接操作修改嗎?
    可以
  4. querySelectorAll() 方法能直接修改嗎? 如果不能可以怎麼做到修改?
    不可以, 只能通過遍歷的方式一次給裡面的元素做修改

②其他獲取DOM元素方法(瞭解)

在這裡插入圖片描述
註意點
在這裡插入圖片描述

3.設置/修改DOM元素內容

①.document.write()

在這裡插入圖片描述

②.元素innerText 屬性

在這裡插入圖片描述

③.元素.innerHTML 屬性

在這裡插入圖片描述
三者區別

1.document.write() 方法 :只能追加到body中
2.元素.innerText 屬性 :只識別內容,不能解析標簽
3.元素.innerHTML 屬性: 能夠解析標簽
如果還在糾結到底用誰,你可以選擇innerHTML

案例:隨機抽取的名字顯示到指定的標簽內部

在這裡插入圖片描述
源代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>隨機點名</title>
    <style>
        div {
            display: inline-block;
            height: 30px;
            width: 150px;
            vertical-align: middle;
            border: 1px solid pink;
            line-height: 30px;
            text-align: center;
        }
    </style>
</head>
<body>
    點到的同學為:<div></div>

    <script>
        let div = document.querySelector('div')

        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min +1))
            + min
        }

        let arr = ['趙雲', '馬超', '黃忠', '劉備', '張飛', '關羽', '曹操']

        let random = getRandom(0, arr.length - 1)

        div.innerHTML = arr[random]

        arr.splice(random, 1)
    </script>
</body>
</html>

4.設置/修改DOM元素屬性

①.設置/修改元素常用屬性

在這裡插入圖片描述

②.設置/修改元素樣式屬性

在這裡插入圖片描述

1)通過 style 屬性操作CSS

在這裡插入圖片描述

2)操作類名(className) 操作CSS

在這裡插入圖片描述
註意點

直接使用 className 賦值會覆蓋以前的類名

3)通過 classList 操作類控制CSS

在這裡插入圖片描述

③.設置/修改 表單元素 屬性

在這裡插入圖片描述
在這裡插入圖片描述

5.定時器-間歇函數

在這裡插入圖片描述
在這裡插入圖片描述

案例:倒計時效果

需求:按鈕6秒之後才可以使用
在這裡插入圖片描述
源代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定時間歇函數</title>
</head>
<body>
    <button class="btn" disabled>我已經閱讀用戶協議(6)</button>
    <script>
        let btn = document.querySelector('.btn')

        let i = 6
        let timer = setInterval(function() {
            i--
            btn.innerHTML= `我已經閱讀用戶協議(${i})`
            if (i === 0){
                clearInterval(timer)
                btn.disabled = false
                btn.innerHTML = `我已同意該協議`
            }
        }, 1000)
    </script>
</body>
</html>

案例:網頁輪播圖效果

在這裡插入圖片描述
源代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>QQ音樂輪播圖</title>
    <style>
        .img-box {
            width: 700px;
            height: 320px;
            margin: 50px auto 0;
            background: #000;
            position: relative;
        }

        .img-box .tip {
            width: 700px;
            height: 53px;
            line-height: 53px;
            position: absolute;
            bottom: 0px;
            background-color: rgba(0, 0, 0, 0.8);
            z-index: 10;
        }

        .img-box .tip h3 {
            width: 82%;
            margin: 0;
            margin-right: 20px;
            padding-left: 20px;
            color: #98E404;
            font-size: 28px;
            float: left;
            font-weight: 500;
            font-family: "Microsoft Yahei", Tahoma, Geneva;
        }

        .img-box .tip a {
            width: 30px;
            height: 29px;
            display: block;
            float: left;
            margin-top: 12px;
            margin-right: 3px;
        }

        .img-box ul {
            position: absolute;
            bottom: 0;
            right: 30px;
            list-style: none;
            z-index: 99;
        }
    </style>
</head>
<body>
    <div class="img-box">
        <img class="pic" src="images/b01.jpg" alt="第1張圖的描述信息">
        <div class="tip">
            <h3 class="text">挑戰雲歌單,歡迎你來</h3>
        </div>
    </div>
    <script>
         let data = [
            {
                imgSrc: 'images/b01.jpg',
                title: '挑戰雲歌單,歡迎你來'
            },
            {
                imgSrc: 'images/b02.jpg',
                title: '田園日記,上演上京記'
            },
            {
                imgSrc: 'images/b03.jpg',
                title: '甜蜜攻勢再次回歸'
            },
            {
                imgSrc: 'images/b04.jpg',
                title: '我為歌狂,生為歌王'
            },
            {
                imgSrc: 'images/b05.jpg',
                title: '年度校園主題活動'
            },
            {
                imgSrc: 'images/b06.jpg',
                title: 'pink老師新歌發佈,5月10號正式推出'
            },
            {
                imgSrc: 'images/b07.jpg',
                title: '動力火車來到西安'
            },
            {
                imgSrc: 'images/b08.jpg',
                title: '鋼鐵俠3,英雄鎮東風'
            },
            {
                imgSrc: 'images/b09.jpg',
                title: '我用整顆心來等你'
            },
        ]

        let pic = document.querySelector('.pic')
        let text = document.querySelector('.text')

        let i = 0

        setInterval(function() {
            i++
            pic.src = data[i].imgSrc
            text.innerHTML = data[i].title

            if (i === data.length - 1){
                i = -1
            }
        }, 1000)
    </script>
</body>
</html>

DOM第一階段over

你生活的起點並不是那麼重要,重要的是最後你能到達哪裡

    此頁面的語言為葡萄牙語   翻譯為中文(簡體)        
  • 中文(簡體)
  • 中文(繁體)
  • 丹麥語
  • 烏克蘭語
  • 烏爾都語
  • 亞美尼亞語
  • 俄語
  • 保加利亞語
  • 克羅埃西亞語
  • 冰島語
  • 加泰羅尼亞語
  • 匈牙利語
  • 卡納達語
  • 印地語
  • 印尼語
  • 古吉拉特語
  • 哈薩克語
  • 土耳其語
  • 威爾士語
  • 孟加拉語
  • 尼泊爾語
  • 布爾語(南非荷蘭語)
  • 希伯來語
  • 希臘語
  • 庫爾德語
  • 德語
  • 義大利語
  • 拉脫維亞語
  • 挪威語
  • 捷克語
  • 斯洛伐克語
  • 斯洛維尼亞語
  • 旁遮普語
  • 日語
  • 普什圖語
  • 毛利語
  • 法語
  • 波蘭語
  • 波斯語
  • 泰盧固語
  • 泰米爾語
  • 泰語
  • 海地克裡奧爾語
  • 愛沙尼亞語
  • 瑞典語
  • 立陶宛語
  • 緬甸語
  • 羅馬尼亞語
  • 寮國語
  • 芬蘭語
  • 英語
  • 荷蘭語
  • 薩摩亞語
  • 葡萄牙語
  • 西班牙語
  • 越南語
  • 亞塞拜然語
  • 阿姆哈拉語
  • 阿爾巴尼亞語
  • 阿拉伯語
  • 韓語
  • 馬爾加什語
  • 馬拉地語
  • 馬拉雅拉姆語
  • 馬來語
  • 馬爾他語
  • 高棉語


TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文技術源自外企,並已在多個世界500強大型項目開發中運用。 本文適合有初/中級.NET知識的同學閱讀。(支持.NET/.NET Framework/.NET Core) RabbitMQ作為一款主流的消息隊列工具早已廣受歡迎。相比於其它的MQ工具,RabbitMQ支持的語言更多、功能更完善。 本文 ...
  • 記錄一篇.netwebapi開發過程 首先使用6+dapper+sqlserver 我們創建一個空項目使用HttpReports來監控api HttpReports 基於.Net Core 開發的APM監控系統,使用MIT開源協議,主要功能包括,統計, 分析, 可視化, 監控,追蹤等,適合在微服務環 ...
  • 痞子衡嵌入式半月刊: 第 55 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • 寫在前面 它們不厭其煩地執行人的指令;它們收集世間萬物的知識,供人頃刻之間隨心調取;它們是現代社會的中流砥柱,但其存在卻往往備受忽視。 它們就是電腦,是人類迄今為止最偉大的發明成就,是登峰造極、至高無上的終極工具。 電腦科學的問世,推動了人類歷史上最非比尋常的社會變革之一。 而編程語言作為電腦 ...
  • 導讀: 本文將介紹過去15年中,網易大數據團隊在應對不斷涌現的新需求、新痛點的過程中,逐漸形成的一套邏輯數據湖落地方法。內容分為五部分: 關於網易數帆 為什麼做邏輯數據湖 怎麼做邏輯數據湖 未來規劃 精彩問答 -- 01 關於網易數帆 網易數帆是從網易杭州研究院孵化出來的。網易杭研的重要職責是公共技 ...
  • Buffer pool 我們都知道我們讀取頁面是需要將其從磁碟中讀到記憶體中,然後等待CPU對數據進行處理。我們直到從磁碟中讀取數據到記憶體的過程是十分慢的,所以我們讀取的頁面需要將其緩存起來,所以MySQL有這個buffer pool對頁面進行緩存。 首先MySQL在啟動時會向操作系統申請一段連續的內 ...
  • 原文地址: 關於TornadoFx和Android的全局配置工具類封裝實現及思路解析 - Stars-One的雜貨小窩 目前個人開發軟體存在設置頁面,可以讓用戶自定義些設置,但我發現,存儲數據的代碼邏輯實在是有些繁瑣(保存及APP打開的設置初始化) 於是便是花了些精力研究了些,封裝了個簡單的工具類, ...
  • Vue框架搭建項目時所用的vue官方項目模版,通過腳手架,下載vue項目,如何創建項目,認識項目結構和拉取項目模版。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...