這一篇要介紹的是如何使用 JavaScript 來取得或控制元素的內容~~
element.setAttribute(name, value);
參數說明:
newDiv.setAttribute(ID, user0035)
,會被轉換為 <div id="user0035"></div>
true
。false
,建議將 value 設為空字串 ""
。// 語法
getAttribute(attributeName)
參數說明:
來個練習吧!例子來自 GPT
<a href="https://example.com">Visit Example</a>
<!-- setAttribute 更改後會變下面這樣 -->
<!-- <a href="https://www.google.com">Visit Example</a> -->
// 使用 getAttribute() 從元素中獲取屬性值
const elA = document.querySelector('a');
const elAHref = elA.getAttribute("href");
console.log(elAHref); // https://example.com
// 使用 setAttribute() 更改元素的屬性值
elA.setAttribute("href", "https://www.google.com");
data-
開頭的自訂屬性名稱,使 HTML 可以藉 JavaScript 與其 DOM 交流資訊。自訂部分 *
的建議限制:
:
來個練習吧!例子來自 GPT
<div id="user" data-user-id="123">data-*</div>
// 使用 data-* 屬性存放與使用自定義資料
const targetDiv = document.querySelector("#user");
targetDiv.setAttribute("data-user-name", "JohnDoe");
const userName = targetDiv.getAttribute("data-user-name");
const userId = targetDiv.getAttribute("data-user-id");
// 使用者名稱:JohnDoe;使用者ID:123
console.log(`使用者名稱:${userName};使用者ID:${userId}`);
Node.textContent
來修改內容。// 語法
// 取得目標元素
const list = document.querySelector(".list");
// 取得目標元素的 HTML
const html = list.innerHTML;
來個練習吧!例子來自 GPT,略為修改
<!-- Q1 -->
<div id="myDiv">原始內容</div>
<button onclick="updateContent()">更新內容</button>
<!-- Q2 -->
<ul id="myList"></ul>
<button onclick="addListItem()">新增列表項目</button>
// Q1. 更新元素內容
function updateContent() {
const myDiv = document.getElementById("myDiv");
if (myDiv.innerHTML == "原始內容") {
myDiv.innerHTML = "新的內容";
} else {
myDiv.innerHTML = "原始內容";
}
}
// Q2. 動態新增列表
function addListItem() {
const myList = document.getElementById("myList");
const listItem = document.createElement("li");
listItem.innerHTML = "新的li";
myList.appendChild(listItem);
}
\n
),會自動轉換為 <br>
textContent
的差異為,innerText
知道渲染後的結果,而 textContent
不知道來個練習吧!例子來自 GPT,略為修改
<div id="innerTextDiv">原始內容</div>
<button onclick="updateText()">更新內容</button>
// Q. 更新元素內容
function updateText() {
const myDiv = document.getElementById('innerTextDiv');
myDiv.innerText = '文字內容被更新惹';
};
null
<script>
與 <style>
元素;innerText 只會顯示渲染出的結果(給人看的)。來個練習吧!例子來自 GPT,略為修改
<div id="textContentDiv">原始內容</div>
<button onclick="updateDiv()">更新內容</button>
// 以 textContent 更新文字內容
function updateDiv() {
const content = document.getElementById('textContentDiv');
content.textContent = '新的內容';
};
快惹快惹,鐵人賽快結束惹(握拳
還有好多東西想學/想寫/想做!
參考資料