HTML DOM 允许 JavaScript 更改 HTML 元素的内容。
修改 HTML 元素内容的最简单方法是使用 innerHTML
属性。
要更改 HTML 元素的内容,请使用以下语法:
document.getElementById(id).innerHTML = new HTML
此示例更改 <p>
元素的内容:
<html>
<body>
<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML = "New text!";
</script>
</body>
</html>
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript can Change HTML</h2>
<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML = "New text!";
</script>
<p>The paragraph above was changed by a script.</p>
</body>
</html>
示例解释:
上面的 HTML 文档包含一个带有 id="p1"
的 <p>
元素
我们使用 HTML DOM 来获取带有 id="p1"
的元素
JavaScript 将该元素的内容 (innerHTML
) 更改为“New 文本!”
此示例更改 <h1>
元素的内容:
<!DOCTYPE html>
<html>
<body>
<h1 id="id01">Old Heading</h1>
<script>
const element = document.getElementById("id01");
element.innerHTML = "New Heading";
</script>
</body>
</html>
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h1 id="id01">Old Heading</h1>
<script>
const element = document.getElementById("id01");
element.innerHTML = "New Heading";
</script>
<p>JavaScript changed "Old Heading" to "New Heading".</p>
</body>
</html>
示例解释:
上面的 HTML 文档包含一个带有 id="id01"
的 <h1>
元素
我们使用 HTML DOM 来获取 id="id01"
的元素
JavaScript 将该元素的内容 (innerHTML
) 更改为“New 标题”
要更改 HTML 属性的值,请使用以下语法:
document.getElementById(id).attribute = new value
此示例更改 <img>
元素的 src 属性值:
<!DOCTYPE html>
<html>
<body>
<img id="myImage" src="smiley.gif">
<script>
document.getElementById("myImage").src = "landscape.jpg";
</script>
</body>
</html>
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript HTML DOM</h2>
<img id="image" src="smiley.gif" width="160" height="120">
<script>
document.getElementById("image").src = "landscape.jpg";
</script>
<p>The original image was smiley.gif, but the script changed it to landscape.jpg</p>
</body>
</html>
示例解释:
上面的 HTML 文档包含一个带有 id="myImage"
的 <img>
元素
我们使用 HTML DOM 来获取带有 id="myImage"
的元素
JavaScript 将该元素的 src
属性从“smiley.gif”更改为“landscape.jpg”
JavaScript 可以创建动态 HTML 内容:
<!DOCTYPE html>
<html>
<body>
<script>
document.getElementById("demo").innerHTML = "Date : " + Date();
</script>
</body>
</html>
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = "Date : " + Date();
</script>
</body>
</html>
在 JavaScript 中,document.write()
可用于直接写入 HTML 输出流:
<!DOCTYPE html>
<html>
<body>
<p>Bla bla bla</p>
<script>
document.write(Date());
</script>
<p>Bla bla bla</p>
</body>
</html>
自己尝试一下 →
<!DOCTYPE html>
<html>
<body>
<p>Bla, bla, bla</p>
<script>
document.write(Date());
</script>
<p>Bla, bla, bla</p>
</body>
</html>
文档加载后切勿使用 document.write()
。它会 覆盖该文档。