大家好~ 今天我們要來繼續介紹DOM的實作~
html
<html>
<head>
<title>getElementById</title>
</head>
<body>
<h1 id="Head">Hello World!</h1>
<button id="change">點我</button>
<script src="getElementById.js"></script>
</body>
</html>
javascript
document.addEventListener("DOMContentLoaded", function() {
var heading = document.getElementById("Head");
var button = document.getElementById("change");
button.addEventListener("click", function() {
heading.innerHTML = "Halloween!";
});
});
我們先讓Hello World!
的id設置為Head
把button的id設置為change
。然後看到js這邊,document.addEventListener("DOMContentLoaded", function() {}
是當該元素觸發相應的事件時,相應的函數將被執行,DOMContentLoaded
是我們的事件名稱,代表在 HTML 文件完全載入且所有 DOM 元素都可以被使用之後觸發的事件。var heading = document.getElementById("Head");
代表在html中找到一個id為Head
的元素並把它存在一個叫做 heading 的變數中。下面的同理,所以網頁在點擊按鈕之後就會變換標題。
html
<!DOCTYPE html>
<html>
<head>
<title>getElementsByClassName</title>
</head>
<body>
<h1 class="heading">Hello</h1>
<h1 class="heading">Hello</h1>
<h1 class="heading">Hello</h1>
<p class="paragraph">Happy</p>
<p class="paragraph">Happy</p>
<button onclick="changeText()">點我</button>
<script src="getElementsByClassName.js"></script>
</body>
</html>
javascript
document.addEventListener("DOMContentLoaded", function() {
var headings = document.getElementsByClassName("heading");
var paragraphs = document.getElementsByClassName("paragraph");
function changeText() {
for (var i = 0; i < headings.length; i++) {
headings[i].innerHTML = "World";
}
for (var i = 0; i < paragraphs.length; i++) {
paragraphs[i].innerHTML = "Birthday";
}
}
// 將 changeText 函數連結到按鈕點擊事件
var button = document.querySelector("button");
button.addEventListener("click", changeText);
});
html
<!DOCTYPE html>
<html>
<head>
<title>getElementsByTagName</title>
</head>
<body>
<h1>Hello</h1>
<h2>World</h2>
<p>apple</p>
<p>pen</p>
<button onclick="changeText()">點我</button>
<script src="getElementsByTagName.js"></script>
</body>
</html>
javascript
<!DOCTYPE html>
<html>
<head>
<title>getElementsByTagName</title>
</head>
<body>
<h1>Hello</h1>
<h2>World</h2>
<p>apple</p>
<p>pen</p>
<button onclick="changeText()">點我</button>
<script src="getElementsByTagName.js"></script>
</body>
</html>
getElementsByClassName
與getElementsByTagName
跟getElementById
非常相似,只是選取的目標不同。分別是以class以及id來選取單位。
而querySelector
以及querySelectorAll
的用法也十分相似。
他們是以css選擇器來選擇目標。
html
<a href="https://www.example.com" id="myLink">點我點我</a>
javascript
var link = document.getElementById("myLink");
var url = link.getAttribute("href");
console.log(url);
var url = link.getAttribute("href");
代表找到href這個屬性的值(網址)。console.log(url);
則是輸出訊息到控制台。
執行後長這樣:setAttribute
(要設定的屬性,屬性名字)則是設置元素屬性值的方法。
以上都是常見的DOM操作
今天先介紹到這邊~我們明天見~