<!DOCTYPE html>
<html style="background-color: #D1D1D1 ">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="./main.css" />
</head>
<body id="body">
<h1 id="headerTitle"></h1>
<div>
<p id="header">November 29th</p>
</div>
<div>
<p id="header">November 29th</p>
</div>
<div>
<p id="header">November 29th</p>
</div>
<script src="./main.js"></script>
</body>
</html>
我正在嘗試遍歷正文并進入每個 div 并更改 11 月 29 日的文本。我得到的最接近的是這個:
var body = document.getElementsByTagName("div")
for (i = 0; i < body.length; i ) {
document.getElementById("header").innerHTML = "Hello World!";
}
但它只更改第一個 div 并停止。
uj5u.com熱心網友回復:
它只更改第一個,div因為 id 只應該屬于一個元素,因此它在找到該元素后停止。將p標簽上的 id 欄位更改為class,您可以使用
let body = document.getElementsByClassName()
for (let element of body) {
element.innerHTML = "..."
}
uj5u.com熱心網友回復:
如前所述,您不應擁有超過 1 個具有相同 ID 的元素。將 ids 更改為類,此代碼應該可以作業:
[...document.querySelectorAll('.header')].map((elem) => elem.textContent = 'Hello World!');
uj5u.com熱心網友回復:
//只是為了改變div中的資料你可以這樣做
var div_s = document.getElementsByTagName("div")
for (i = 0; i < div_s.length; i ) {
div_s[i].innerHTML = "Hello World!";
}
或者要更改 p 中的資料,您需要每個標簽的唯一 ID,如下所示。
<div title = "header1">
<p id="header1">November 29th</p>
</div>
<div title = "header2">
<p id="header2">November 29th</p>
</div>
<div title="header3">
<p id="header3">November 29th</p>
</div>
<script>
var divs = document.getElementsByTagName('div')
for (i = 0; i < divs.length; i ) {
document.getElementById(divs[i].title).innerHTML = "Hello World!";
}
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/371127.html
標籤:javascript html 循环 dom事件
上一篇:資料幀更快的余弦相似度
