iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
Modern Web

JavaScript 筆記 2 版系列 第 12

JavaScript Day12 - DOM(1)

  • 分享至 

  • xImage
  •  

DOM(Document Object Model)

  • DOM = Document Object Model (文件物件模型)
  • 可參考以前寫的幾篇,了解基本概念與用法
  • 基本上 DOM 就是要來操作網頁上的區塊,可以修改、刪除以及新增

參考資料

MDN 文件物件模型 (DOM)
MDN DOM概述
JavaScript入門系列:BOM和DOM筆記
BOM(Browser Object Model)
JS基礎:DOM(Document Object Model) & BOM(Browser Object Model)

選取 element

  • 單選
    • getElementById('idname'):填入 idname
    • querySelector():一般名稱為 name, id 名稱為 #idname,class 名稱為 .classname,若有多個只會選取第 1個
  • 多選
    • getElementsByClassName('classname'):Element 有 s
    • querySelectorAll():同上,一般名稱為 name, id 名稱為 #idname,class 名稱為 .classname
    • 多選後為陣列[],要用 for 迴圈逐一讀取或取代,不能一次變更,單獨變更也需要指定選取第幾個

存取與變更屬性、內容

  • 屬性
    • .getAttribute(''):取得屬性的值
    • .setAttribute('屬性名','屬性值'):設定某個屬性的值為多少,若一開始無此屬性就會新增
    • .removeAttribute(''):移除指定的屬性
  • 內容
    • .textContent:取得文字內容,使用 = 可以賦予(更新)
    • .innerHTML:取得文字內容外,還可以存取子屬性

初始的 HTML

<body>
    <a id="link">點我連結</a>
</body>

變更 DOM

let ele = document.querySelector('#link');

ele.textContent = '點我連結至 google';
// <a id="link">點我連結至 google</a>

ele.setAttribute('href' , 'https://www.google.com/');
// 新增 href 的值為 https://www.google.com/
// <a id="link" href="https://www.google.com/">點我連結至 google</a>

console.log(ele.getAttribute('href'));
// 顯示 https://www.google.com/

變更後的 HTML

<body>
    <a id="link" href="https://www.google.com/">點我連結至 google</a>
</body>

參考資料

DOM修改文字節點 - INNERTEXT或TEXTCONTENT傻傻分不清楚

次回

再說明一下 DOM


上一篇
JavaScript Day11 - 迴圈
下一篇
JavaScript Day13 - DOM(2)
系列文
JavaScript 筆記 2 版31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言