【前端每日一題】day11

一個盒子(DIV)里有若干個小盒子,每個小盒子里還可能有多個小盒子
多層盒子結構。每個盒子都有一個唯一的id和 name 屬性。現在給出一個盒子的 id
請找到這個盒子并打開,輸出這個盒子內部所有小盒子的id和 name,并繼續打開這些小盒子輸出id和 name(由外到內逐層打印)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Open Div</title>
</head>
<body><div id="box1" name="box1"><div id="box2" name="box2"><div id="box4" name="box4"></div></div><div id="box3" name="box3"><div id="box5" name="box5"><div id="box7" name="box7"></div></div><div id="box6" name="box6"></div></div></div><script>function findAndOpenBox(targetId) {const box = document.getElementById(targetId);if (!box) {console.log("盒子未找到");return;}openBox(box);}function openBox(box) {console.log("盒子ID:", box.id, "盒子名稱:", box.getAttribute("name"));const childBoxes = box.children;for (let i = 0; i < childBoxes.length; i++) {const childBox = childBoxes[i];console.log("子盒子ID:", childBox.id, "子盒子名稱:", childBox.getAttribute("name"));openBox(childBox);}}// 指定目標盒子的 IDconst targetBoxId = "box1";// 開始查找并打開盒子findAndOpenBox(targetBoxId);</script>
</body>
</html>

先通過document.getElementById()方法獲得指定id 的div DOM元素,然后向下遞歸調用開盒子方法。
getAttribute() 是一個用于獲取元素屬性值的方法。它允許你通過屬性名來獲取指定元素的屬性值。
children屬性可以返回一個類似數組的對象,其中包含了所有子元素。
such as

<div id="parent"><div id="child1"></div><div id="child2"></div><div id="child3"></div>
</div>
const parent = document.getElementById("parent");
const childElements = parent.children;console.log(childElements.length); // 輸出 3,因為有三個子元素
console.log(childElements[0]); // 輸出第一個子元素
console.log(childElements[1]); // 輸出第二個子元素
console.log(childElements[2]); // 輸出第三個子元素

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

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

相關文章

【Unity】Unity項目轉抖音小游戲(四)一些常用方法

1.初始化 SDK會在Unity啟動前就初始化好&#xff0c;但是又有Init的接口&#xff0c;所以這里通過 StarkSDK.s_ContainerEnv 判斷有沒有初始化&#xff0c;沒有的話就手動初始化 public override void Init(string code, Action callback){Debug.Log("初始化抖音SDK"…

AIGC全面介紹

AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;&#xff0c;即生成式人工智能&#xff0c;是人工智能1.0時代進入2.0時代的重要標志。這一技術的出現&#xff0c;標志著人工智能從計算智能、感知智能邁向了認知智能的新階段。以下是關于AIGC的全面介紹…

基于manifest文件批量將coding的倉庫導入gitlab中

文章目錄 寫在前面的話背景編寫manifest文件最終效果 寫在前面的話 前面有講過通過manifest清單導入項目到gitlab中&#xff0c;但是實際的操作是不同gitlab實例之間的操作&#xff0c;然而對于在不同gitlab實例的repo遷移而言&#xff0c;顯然direct transfer會更合適。 背景…

民國漫畫雜志《時代漫畫》第21期.PDF

時代漫畫21.PDF: https://url03.ctfile.com/f/1779803-1248634754-017e2b?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps: 資源來源網絡!

代碼隨想錄算法訓練營Day49 | 123.買賣股票的最佳時機III、188.買賣股票的最佳時機IV | Python | 個人記錄向

本文目錄 123.買賣股票的最佳時機III做題看文章 188.買賣股票的最佳時機IV做題 以往忽略的知識點小結個人體會 123.買賣股票的最佳時機III 代碼隨想錄&#xff1a;123.買賣股票的最佳時機III Leetcode&#xff1a;123.買賣股票的最佳時機III 做題 無思路。 看文章 確定dp數…

結構型模式之橋接模式

文章目錄 概述原理結構圖代碼示例 小結 概述 橋接模式(bridge pattern) 的定義是&#xff1a;將抽象部分與它的實現部分分離&#xff0c;使它們都可以獨立地變化。 橋接模式用一種巧妙的方式處理多層繼承存在的問題,用抽象關聯來取代傳統的多層繼承,將類之間的靜態繼承關系轉…

使用位掩碼的權限設計

使用位掩碼的權限設計 權限系統的設計幾乎是每個系統都必需的模塊。 下面就聊一聊基本設計的思路。 位掩碼&#xff08;BitMask&#xff09;&#xff0c;是位&#xff08;Bit&#xff09;和掩碼&#xff08;Mask&#xff09;的組合詞。 “位”指代著二進制數據當中的二進制位…

基于深度學習OCR文本識別系統源碼(帶界面)

第一步&#xff1a;概要 基于深度學習OCR文本識別分為兩個模塊&#xff1a;DBNet和CRNN。 DBNet是基于分割的文本檢測算法&#xff0c;算法將可微分二值化模塊(Differentiable Binarization)引入了分割模型&#xff0c;使得模型能夠通過自適應的閾值圖進行二值化&#xff0c;并…

Postgresql 基礎學習

一、介紹 PostgreSQL是一個開源的關系型數據庫管理系統&#xff08;RDBMS&#xff09;&#xff0c;它支持SQL語言的所有功能&#xff0c;具有可擴展性、高并發性和可靠性等特點。 以下是一些 PostgreSQL 的特點&#xff1a; 開源&#xff1a;PostgreSQL是一個非常受歡迎的開源…

Python-溫故知新

1快速打開.ipynb文件 安裝好anaconda后&#xff0c;在需要打開notebook的文件夾中&#xff0c; shift鍵右鍵——打開powershell窗口——輸入jupyter notebook 即可在該文件夾中打開notebook的頁面&#xff1a; 2 快速查看函數用法 光標放在函數上——shift鍵tab 3...

Docker鏡像源自動測試鏡像速度,并選擇速度最快的鏡像

國內執行如下代碼 bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/check_docker_registry.sh)國外執行如下代碼 bash <(curl -sSL https://github.com/xjxjin/scripts/raw/main/check_docker_registry.sh)如果有老鐵有比較不錯的鏡像源&#xff0c;可以提…

探索Python編程樂趣:制作氣泡反彈小游戲

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、引言&#xff1a;Python編程的輕松入門 二、游戲實現原理&#xff1a;氣泡反彈的邏輯 …

探索生態農業,守護綠色家園

在繁忙的都市生活中&#xff0c;我們往往忽略了與自然和諧相處的重要性。而生態農業&#xff0c;正是讓我們重拾與大自然親密關系的橋梁。通過采用生態友好的耕作方式&#xff0c;生態農業不僅能夠提供健康、營養的農產品&#xff0c;還能夠保護生態環境&#xff0c;實現人與自…

Android高通 12/13靜默安裝和卸載

1、靜默安裝和靜默卸載 涉及代碼路徑感興趣可以去看下如下所示&#xff0c;這里不作重點贅述哈 Package Manger frameworks/base/services/java/com/android/server/pm/Settings.java frameworks/base/services/java/com/android/server/pm/PackageManagerService.java framew…

CCS基礎入門

視頻&#xff1a; CCS使用教程_嗶哩嗶哩_bilibili 創建工程 步驟一&#xff1a;創建 方法一&#xff1a; 方法二&#xff1a; 方法三&#xff1a; 步驟二&#xff1a;選擇工程配置 步驟三&#xff1a;完成創建 編譯工程&#xff1a; 方法一&#xff08;最常用&#xff09;…

Excel中自動驗證URL網址鏈接有效性

下面表格中的網址有的可以打開&#xff0c;有的不能打開 在Excel中按下 Alt F11 鍵來打開VBA編輯器&#xff0c;選擇 插入 > 模塊&#xff0c;創建一個新的模塊&#xff0c;在新創建的模塊窗口中輸入以下代碼&#xff1a; Function 測試網址(ByVal URL As String) As Str…

$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams

問題描述 動態添加子view的時候&#xff0c;報crash&#xff0c;提示$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams 完整錯誤堆棧 :12.946 11951-11951/com.xx E/CrashReport: sys default last handle start! 11-16 12:21:13.041 11951-1195…

筆記-X86下用Docker運行ARM64編譯Libreoffice

初衷 針對惡略環境下的自適應&#xff0c;記個筆記&#xff0c;苦于沒有外網的arm架構環境&#xff0c;內網中安裝個arm類型的deb&#xff0c;難如登天&#xff0c;突然發現這個好東西。 參考引用 x86架構的Ubuntu上通過Docker運行ARM架構的系統 前提 docker已經安裝好 安…

UDP協議與TCP協議1.2

UDP UDP數據報UDP報頭UDP載荷 UDP的報文格式&#xff1a; 這里的UDP長度&#xff0c;描述了整個UDP數據報&#xff0c;占多少個字節&#xff0c;這里整個UDP長度最多是64kb 在UDP中校驗和就是使用CRC的方式來完成的 數據在網絡傳輸中是可能會出現錯誤的&#xff0c;例如比特翻…

Linux日志定位實戰指令總結

一、日志定位的常用Linux指令 步驟&#xff08;一&#xff09;&#xff1a;如果你不知道日志的位置&#xff0c;Linux指令如何查找到日志所在的位置呢&#xff1f; 要快速定位到名為nfm-info.log的文件&#xff0c;你可以使用find命令或locate命令。這兩個命令都能夠搜索文件…