DOM 獲取父子節點

DOM 是以樹狀結構排列的,所以父子關系是相對的,當li為我們的目標節點的時候,ul為其父節點,其他li為它的兄弟節點,li里面包含的標簽為子節點,以此類推。

  • 那我們如何找父節點?

    • 元素.parentNode,直接得到DOM對象

      <ul><li id="box"></li><li></li><li></li>
      </ul>
      let dom = document.getElementById('box')
      console.log(dom.parentNode) 
      

      在這里插入圖片描述

  • 如何找子節點?

    • 父元素.childNodes,包含標簽、文本、注釋等

    • 得到偽數組

      <ul id="box"><li></li><li></li><li></li>
      </ul>
      let dom = document.getElementById('box')
      console.log(dom.childNodes)  // NodeList(7) [text, li, text, li, text, li, text] text是換行文本
      
  • 如何找子元素?

    • 父元素.children,這個只會找到標簽

    • 得到偽數組

      <ul id="box"><li></li><li></li><li></li>
      </ul>
      let dom = document.getElementById('box')
      console.log(dom.children)  // HTMLCollection(3) [li, li, li] 只會有元素,這個更常用
      
  • 如何找兄弟元素(同級)?

    • 找上一個兄弟節點,元素.previousSibling或元素.previousElementSibling

    • 找下一個兄弟節點,元素.nextSibling 或元素.nextElementSibling

<ul><li>1</li><li id="box">2</li><li>3</li>
</ul>
let dom = document.getElementById('box')
console.log(dom.previousSibling) 
console.log(dom.previousElementSibling) 
console.log(dom.nextSibling) 
console.log(dom.nextElementSibling) 

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

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

相關文章

libigl 網格質量矩陣

文章目錄 一、簡介二、應用三、實現效果參考資料一、簡介 在 libigl 中,igl::massmatrix 是一個用于計算給定三角網格的質量矩陣的函數。質量矩陣在有限元分析和其他模擬技術中非常有用,它通常用于描述網格中各個節點的質量或者用于計算模擬過程中的慣性效應。 igl::massmatr…

分布式系統如何做數據對賬?

前言 在分布式系統中&#xff0c;雖然我們會使用各種分布式事務的方案&#xff0c;來保證各個系統之間的一致性。但是&#xff0c;很多時候往往事與愿違。 尤其是現在很多公司都采用最終一致性的方案&#xff0c;而所謂最終一致性&#xff0c;無論是本地消息表、事務消息、還…

藍橋杯:數組分割(Java)

目錄 問題描述輸入格式輸出格式代碼實現 問題描述 小藍有一個長度為N的數組A[A0,A1,… AN-1]。現在小藍想要從A對應的數組下標所構成的集合Ⅰ0,1,2,…,N -1中找出一個子集R1&#xff0c;那么R1在Ⅰ中的補集為R2。記S1∈∑Ar&#xff0c;S2∈∑Ar&#xff0c;我們要求S1和S2均為…

node 之 npm

1.什么是包 node.js中的第三方模塊又叫做包 就像電腦和計算機指的是相同的東西&#xff0c;第三方模塊和包指的是同一個概念&#xff0c;只不過叫法不同 2.包的來源 不同于 Node.js 中的內置模塊與自定義模塊&#xff0c;包是由第三方個人或團隊開發出來的&#xff0c;免費供所…

【計算機網絡——應用層】http協議

文章目錄 1. http協議1.1 http協議簡介1.2 url組成1.3 urlencode與urldecode 2. http協議的格式2.1 http協議的格式2.2 一些細節問題 3. http的方法、狀態碼和常見響應報頭3.1 http請求方法3.2 http狀態碼3.3 http常見的響應報頭屬性 4. 一個非常簡單的http協議服務端5. http長…

【X806開發板試用】文章一 ubuntu開發環境搭建

一、環境配置 官方鏈接&#xff1a; 環境配置 1.安裝必要的庫和軟件 sudo apt-get install build-essential gcc g make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-b…

pix2pix-zero

pix2pix-zero&#xff1a;零樣本圖像到圖像轉換 論文介紹 Zero-shot Image-to-Image Translation 關注微信公眾號: DeepGoAI 項目地址&#xff1a;https://github.com/pix2pixzero/pix2pix-zero 論文地址&#xff1a;https://arxiv.org/abs/2302.03027 本文介紹了一種名為…

Golang 函數中 defer 和 return 的調用順序

先來看一段代碼&#xff1a; package mainimport "fmt"func f() (ret int) {defer func() {ret}()return 1 } func main() {fmt.Println(f()) }上面這段代碼的輸出是2&#xff0c;不是1 原因在于&#xff1a; 1&#xff09;ret 是在執行 return 1 語句后發生的 2&…

基于SpringBoot多模塊項目引入其他模塊時@Autowired無法注入

基于SpringBoot多模塊項目引入其他模塊時Autowired無法注入 一、問題描述1、解決方案 一、問題描述 啟動Spring Boot項目時報 Could not autowire. No beans of ‘xxxxxxxx’ type found. 沒有找到bean的實例&#xff0c;即spring沒有實例化對象&#xff0c;也就無法根據配置文…

【LeetCode-中等】209.長度最小的子數組-雙指針/滑動窗口

力扣題目鏈接 1. 暴力解法 這道題的暴力解法是兩層嵌套for循環&#xff0c;第一層循環從 i 0 開始遍歷至數組末尾&#xff0c;第二層循環從 j i 開始遍歷至找到總和大于等于 target 的連續子數組&#xff0c;并將該連續子數組的長度與之前找到的子數組長度相比較&#xff0…

傳輸層兩大戰將TCP、UDP的定位

傳輸層 定義一些傳輸數據的協議和端口&#xff0c;傳輸協議同時進行流量控制&#xff0c;根據接收方的數據吞入熟讀&#xff0c;規定適當的發送速率&#xff0c;解決傳輸效率及能力問題 什么是TCP TCP/IP即傳輸控制/網絡協議&#xff0c;是面向連接的協議&#xff0c;發送數…

什么是IP公網?

IP公網是指互聯網上可以公開訪問的IP地址。它是經過互聯網服務提供商&#xff08;ISP&#xff09;向用戶提供的公共網絡IP地址。與之相對的是內網IP地址&#xff0c;內網IP地址一般是由路由器或交換機分配給連接在局域網中的設備使用。 IP公網的作用非常廣泛&#xff0c;可以應…

C#解析JSON

https://blog.csdn.net/weixin_43046974/article/details/131449900 C#解析JSON 1. JSON定義2. JSON一般構成及解析方法3. 解析舉例子 1. JSON對象解析&#xff0c;只包含一層對象{}2. 嵌套JSON對象解析&#xff0c;包含多層對象{}3. JSON數組解析1&#xff08;數組循環遍歷&…

Web APIs知識點講解(階段二)

DOM-事件基礎 一.事件 1.事件 目標&#xff1a;能夠給 DOM元素添加事件監聽 事件:事件是在編程時系統內發生的動作或者發生的事情&#xff0c;比如用戶在網頁上單擊一個按鈕 事件監聽:就是讓程序檢測是否有事件產生&#xff0c;一旦有事件觸發&#xff0c;就立即調用一個函…

http工具類

public class HttpRequstUtil {/*** http請求方法** param message 查詢條件* param url 查詢地址* param token 身份驗證token* param socketTimeout socket 響應時間* param connectTimeout 超時時間* return 返回字符串*/Deprecatedpublic stat…

金仕達與 DolphinDB 建立深度合作,共筑 FICC 科技創新新篇章

從“關起門做交易”到“打開門做服務”&#xff0c;國內 FICC 業務正經歷從自營到市場化服務的轉變&#xff0c;借助數據分析、算法交易等技術的快速發展&#xff0c;交易團隊能夠更加主動地發現市場需求&#xff0c;為不同客群提供更好的做市業務&#xff0c;FICC 交易電子化已…

打造智能汽車微服務系統平臺:架構的設計與實現

隨著智能汽車技術的飛速發展&#xff0c;微服務架構在汽車行業中的應用越來越廣泛。采用微服務架構可以使汽車系統更加靈活、可擴展&#xff0c;并且有利于快速推出新功能和服務。本文將從設計原則、關鍵技術、數據安全等方面&#xff0c;介紹如何搭建智能汽車微服務系統平臺架…

網絡通信技術

?1.分組交換技術 在網絡通信中&#xff0c;數據通過網絡節點的某種轉發方式&#xff0c;實現從一個端系統到另一個端系統之間的數據傳輸技術稱為數據交換技術。數據交換技術有電路交換、報文交換和分組交換&#xff0c;計算機網絡采用分組交換技術。 分組就是源主機(如服務器…

【Python】FastAPI 項目創建 與 Docker 部署

文章目錄 前言&需求描述1. 本地FastAPI1.1 Python 環境準備1.2 本地 Pycharm 創建FastAPI項目 2. Python FastAPI 部署2.1 服務器配置Python環境2.2.1 下載與配置Git、Pyenv等工具2.2.2 下載與配置Python 2.2 FastAPI 打包成鏡像2.2.1 項目準備所需環境文件2.2.2 編寫Docke…

畢業設計——基于springboot的聊天系統設計與實現(服務端 + 客戶端 + web端)

整個工程包含三個部分&#xff1a; 1、聊天服務器 聊天服務器的職責一句話解釋&#xff1a;負責接收所有用戶發送的消息&#xff0c;并將消息轉發給目標用戶。 聊天服務器沒有任何界面&#xff0c;但是卻是IM中最重要的角色&#xff0c;為表達敬意&#xff0c;必須要給它放個…