DOM遍歷

DOM 遍歷是指在 HTML 文檔中導航和定位元素的過程。通過 DOM 遍歷,您可以在文檔中移動并查找特定的元素,以便對其進行操作或者檢索信息。

尋找子元素

//DOM遍歷
const h1 = document.querySelector('h1');//尋找子元素
console.log(h1.querySelectorAll('.highlight'));

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

上面的代碼說明可以通過DOM遍歷快速的定位到子元素

● 我們也可以找到元素的所有子節點(包括元素節點、文本節點和注釋節點)的 NodeList 對象

console.log(h1.childNodes);

在這里插入圖片描述

● 我們也可以找到元素的所有子元素節點,不包括文本節點和注釋節點。這將返回一個 HTMLCollection 對象,其中包含所有子元素。

console.log(h1.children);

在這里插入圖片描述

● 當然,我們可以通過這種尋找某個元素的子元素的方式來定義style

h1.firstElementChild.style.color = 'white';
h1.lastElementChild.style.color = 'orangered';

在這里插入圖片描述

尋找父元素

● 找到元素的父節點,無論父節點是什么類型的節點(元素節點、文本節點等)。這將返回一個 Node 對象,表示 h1 元素的父節點。

console.log(h1.parentNode);

在這里插入圖片描述

● 找到元素的最近的父元素節點。如果 h1 的父節點是一個元素節點,則返回這個元素節點;如果 h1 沒有父元素節點,則返回 null。

console.log(h1.parentElement);

在這里插入圖片描述

● 使用 closest 方法來查找最接近的具有指定選擇器的祖先元素,并為找到的元素設置背景顏色。

h1.closest('.header').style.background = 'var(--gradient-secondary)';
h1.closest('h1').style.background = 'var(--gradient-primary)';

在這里插入圖片描述

尋找兄弟元素

● 打印出該前一個兄弟元素節點

console.log(h1.previousElementSibling);

在這里插入圖片描述

說明向上沒有兄弟元素,我們也可以往下找

console.log(h1.nextElementSibling);

在這里插入圖片描述

● h1 元素的前一個兄弟節點和后一個兄弟節點,或者如果它們不存在則顯示 null。需要注意的是,這兩個屬性獲取的節點可能是元素節點也可能是文本節點(或者其他類型的節點)。

console.log(h1.previousSibling);
console.log(h1.nextSibling);

在這里插入圖片描述

● 那我們怎么知道元素的所有兄弟元素呢,我們可以找父元素的所有子元素

console.log(h1.parentElement.children);

在這里插入圖片描述

● 最后,我們來玩一下,將除h1元素的所有兄弟元素縮小一半

[...h1.parentElement.children].forEach(function (el) {if (el !== h1) el.style.transform = 'scale(0.5)';
});

在這里插入圖片描述

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

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

相關文章

每天一個數據分析題(三百九十)- 多元線性回歸

在多元線性回歸中,下列哪項可以緩解多重共線性問題? A. 取對數 B. 平方 C. 去除異常值 D. 逐步回歸 數據分析認證考試介紹:點擊進入 題目來源于CDA模擬題庫 點擊此處獲取答案 數據分析專項練習題庫 內容涵蓋Python,SQL&am…

從入門到精通:使用Python的Watchdog庫監控文件系統的全面指南

從入門到精通:使用Python的Watchdog庫監控文件系統的全面指南 引言Watchdog庫概述核心組件工作原理 快速開始:設置Watchdog安裝Watchdog創建一個簡單的監控腳本設置和啟動Observer 事件處理:如何響應文件系統的變化基本事件處理處理復雜的場景…

論文生成新紀元:探索頂尖AI寫作工具的高效秘訣

在學術探索的征途中,AI論文工具本應是助力前行的風帆,而非讓人陷入困境的漩渦。我完全理解大家在面對論文壓力的同時,遭遇不靠譜AI工具的沮喪與無奈。畢竟,時間可以被浪費,但金錢和信任卻不可輕棄。 作為一名資深的AI…

@Transactional(rollbackFor = Exception.class)注解

當作用于類上時,該類的所有 public 方法將都具有該類型的事務屬性,同時,我們也可以在方法級別使用該標注來覆蓋類級別的定義。 在項目中,Transactional(rollbackForException.class),如果類加了這個注解,那…

Java使用Graphics2D畫圖,畫圓,矩形,透明度等實現

背景 如上圖,需要使用Java生成一個圖片, 并以base64編碼的形式返回給前端展示。 使用Graphics2D類,來進行畫圖,其中需要畫方框、原型、插入圖標、寫入文字等,同時需要設置透明度等細節點 環境:Jdk17&#…

Java面試八股之JVM內存泄漏按照發生的方式可以分為哪幾類

JVM內存泄漏按照發生的方式可以分為哪幾類 常發性內存泄漏(Frequent Memory Leak) 這類內存泄漏發生的代碼會被頻繁執行,每次執行時都會導致一塊或多塊內存無法被回收。由于泄漏行為重復發生,故稱為常發性。這類泄漏通常比較容易…

下一代廣域網技術2:SRv6

2.SRv6 SR架構設計之初,就為SR數據平面設計了兩種實現方式:一種是SR-MPLS,其重用了MPLS數據平面,可以在現有IP/MPLS網絡上增量部署;另一種是SRv6,使用IPv6數據平面,基于IPv6路由擴展頭進行擴展…

Docker部署常見應用之Oracle數據庫

文章目錄 安裝部署參考文章 安裝部署 使用Docker安裝Oracle數據庫是一個相對簡便的過程,可以避免在本地環境中直接安裝Oracle數據庫的復雜性。 安裝Docker環境:確保你的系統上已經安裝了Docker,并且Docker服務正在運行。具體的安裝方法可以根…

使用North自部署圖床服務

圖床 圖床可以把圖片轉為鏈接,從而方便我們書寫、分享博客,目前圖床主要分為以下幾類: 利用 Git 倉庫存儲對象存儲(OSS、COS、七牛云等)免費公共圖床(SM.MS、聚合圖床、ImgTP、Postimage等) 但上述圖床都…

低應變復習題

1.比較臨塑荷載、臨界荷載和極限荷載的大小( ) A、臨塑荷載<臨界荷載<極限荷載 B、臨塑荷載>臨界荷載<極限荷載 C、臨塑荷載<臨界荷載>極限荷載 D、臨塑荷載>臨界荷載>極限荷載 參考答案:A 2.面關于低應變反射波法的描述,正確的是:( ) A、反射…

【雜記-淺談BGP邊界網關協議】

BGP邊界網關協議 一、BGP邊界網關協議概述二、BGP的特點及與IGP的區別三、BGP的路由屬性四、BGP協議中使用的報文 一、BGP邊界網關協議概述 1、BGP&#xff0c;Border Gateway Protocol&#xff0c;即邊界網關協議&#xff0c;是一種在自治系統&#xff08;AS&#xff09;之間…

Websocket實現方式二——注解方式

添加Websocket依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>根據ServerEndpoint注解注冊Websocket Configuration public class AgentWsConfig …

多項式回歸(Linear Regression)原理詳解及Python代碼示例

多項式回歸原理詳解 多項式回歸&#xff08;Polynomial Regression&#xff09;是線性回歸&#xff08;Linear Regression&#xff09;的一種擴展形式。它通過在輸入變量上添加高次項來擬合非線性關系。雖然多項式回歸本質上還是線性模型&#xff0c;但它允許模型在輸入特征的多…

if action和Switch之間該怎么選擇?

1. Switch 2. If及If Action Subsystem 3.結論 元素很多&#xff0c;用switch 元素少&#xff0c;用if或switch 如果...很多&#xff0c;用if

職業技能大賽引領下大數據專業實訓教學的改革研究

隨著信息化時代的加速發展&#xff0c;大數據專業作為新興的熱門領域&#xff0c;正日益成為高等職業教育體系中不可或缺的一部分&#xff0c;其承擔著為社會培養大批具有高素質應用技能的大數據技術人才的重任。職業技能大賽作為檢驗和提升學生技能水平的有效平臺&#xff0c;…

web學習筆記(六十九)vue2

1. vue2創建腳手架項目 &#xff08;1&#xff09;在cmd窗口輸入npm install -g vue/cli命令行&#xff0c;快速搭建腳手架。 &#xff08;2&#xff09; 創建vue2項目 &#xff08;3&#xff09; 選擇配置項目&#xff0c;最下面的選項是自己重新配置&#xff0c;第一次創建v…

使用mmdetection遇到的一些問題總結

【問題1】 No module named ‘mmcv._ext’ 應該安裝mmcv-full 而不是mmcv 【問題2】cannot import name ‘Config‘ from ‘mmcv‘ 原因是mmcv的版本太高兩種解決方案&#xff1a;1&#xff09;降低mmcv版本。2&#xff09;將 from mmcv import Config, DictAction 修改為 fro…

android 4大組件用法

在Android開發中&#xff0c;應用程序的主要組件包括Activity、Service、Broadcast Receiver和Content Provider。這些組件共同組成了Android應用的基本構架。以下是每個組件的詳細用法&#xff1a; 1. Activity Activity是Android應用的主要組成部分&#xff0c;代表一個用戶…

中電金信:向“新”而行—探索AI在保險領域的創新應用

大模型的應用已經滲透到各個領域&#xff0c;并展現出驚人的潛力。在自然語言處理方面&#xff0c;大模型用于機器翻譯、文本摘要、問答系統等&#xff1b;在計算機視覺領域&#xff0c;應用于圖像識別、目標檢測、視頻分析等&#xff1b;此外&#xff0c;大模型也應用于語音識…

使用nvm管理node版本及pnpm安裝

文章目錄 GithubWindows 環境Mac/Linux 使用腳本進行安裝或更新Mac/Linux 環境變量nvm 常用命令npm 常用命令npm 安裝 pnpmNode 歷史版本 Github https://github.com/nvm-sh/nvm Windows 環境 https://nvm.uihtm.com/nvm.html Mac/Linux 使用腳本進行安裝或更新 curl -o- …