JavaScript - 修改 HTML
使用 JavaScript 修改 HTML
HTML DOM 允许我们使用 JavaScript 修改 HTML 元素。您可以使用各种方法和属性自定义或动态更新 HTML 元素。例如,您可以更改 HTML 元素的内容、在网页中移除或添加新的 HTML 元素、更改特定元素的属性值等。
在 JavaScript 中,我们可以使用 ID、属性、标签名称、类名等访问 HTML 元素。访问元素后,我们可以使用 innerHTML、outerHTML 等属性以及 replaceWith()、appendChild() 等方法更改和操作它们。
使用 innerHTML 属性更改 HTML
HTML 属性的 innerHTML 属性用于替换元素的 HTML 内容或添加新的 HTML 元素作为当前元素的子元素。
语法
请按照以下语法使用 innerHTML 属性更改 HTML。
element.innerHTML = HTML_str;
在上述语法中,"element"是在 JavaScript 中访问的 HTML 元素,而 HTML_str 是字符串格式的 HTML。
示例
在下面的示例中,我们使用 innerHTML 属性替换了 div 元素的 HTML 内容。您可以点击按钮替换输出中的 HTML 内容。
<html>
<body>
<div id = "text">
<p> One </p>
<p> Two </p>
</div>
<button onclick = "changeHTML()"> Change HTML </button>
<script>
function changeHTML() {
let text = document.getElementById('text');
text.innerHTML = `<div> JavaScript </div> <div> HTML </div> <div> CSS </div>`;
}
</script>
</body>
</html>
使用 outerHTML 属性更改 HTML 内容
HTML 元素的 outerHTML 属性会替换元素的 HTML 内容,包括标签。
语法
请按照以下语法使用 outerHTML 属性。
element.outerHTML = HTML_str;
HTML_str 是字符串格式的 HTML 内容。
示例
在下面的代码中,当用户使用 outerHTML 属性点击按钮时,我们将 <div> 元素替换为 <img> 元素。
<html>
<body>
<div id = "text">
<p> Paragraph One </p>
<p> Paragraph Two </p>
</div>
<p></p>
<button onclick = "changeHTML()"> Change HTML </button>
<script>
function changeHTML() {
let text = document.getElementById('text');
text.outerHTML = `<img src="https://www.cainiaomax.com/static/images/logo.png?v3" alt="Logo">`;
}
</script>
</body>
</html>
使用 replaceWith() 方法替换 HTML 元素
replaceWIth() 方法将特定的 HTML 元素替换为新元素。
语法
请按照以下语法使用 replaceWith() 方法更改 HTML。
Old_lement.replaceChild(new_ele);
您需要将现有元素作为 replaceChild() 方法的引用,并将新元素作为参数传递。
示例
在下面的代码中,我们使用 createElement() 方法创建了一个新的 <p> 元素。然后,我们将 HTML 添加到该元素中。
接下来,我们在 changeHTML() 函数中将 div 元素替换为新元素。
<html>
<body>
<div id = "text">Hello World!</div>
<button onclick = "changeHTML()"> Change HTML </button>
<script>
function changeHTML() {
const text = document.getElementById('text');
const textNode = document.createElement('p');
textNode.innerHTML = "Welcome to the Tutorialspoint!";
// 使用 replaceWith() 方法
text.replaceWith(textNode);
}
</script>
</body>
</html>
更改 HTML 元素属性的值
您可以使用 JavaScript 访问 HTML 元素并设置其值。
语法
请按照以下语法更改 HTML 元素属性的值。
element.attribute = new_value;
这里需要使用"attribute"来替换 HTML 属性。"new_value"是 HTML 属性的新值。
示例
在下面的代码中,我们更改了 <img> 元素的"src"属性的值。点击按钮时,图像将会改变。
<html>
<body>
<img src = "https://www.cainiaomax.com/static/images/logo.png?v3" width = "300px" id = "logoImg" alt = "logo">
<p></p>
<button onclick="changeURL()"> Change URL of Image </button>
<script>
function changeURL() {
document.getElementById('logoImg').src = "https://www.cainiaomax.com/static/images/simply-easy-learning.png";
}
</script>
</body>
</html>
向 HTML 元素添加新元素
您可以使用 appendChild() 方法向特定 HTML 元素添加新的 HTML 子元素。
语法
请按照以下语法使用 appendCHild() 方法添加新元素。
element.appendChild(new_ele);
您需要使用父元素作为 appendChild() 方法的引用,并将新元素作为参数传递。
示例
在下面的代码中,我们将 <p> Apple <p> 作为 <div> 元素的子元素附加。
<html>
<body>
<div id = "fruits">
<p> Banana </p>
<p> Watermelon </p>
</div>
<button onclick = "AddFruit()"> Add Apple </button>
<script>
function AddFruit() {
const fruits = document.getElementById("fruits");
const p = document.createElement("p");
p.innerHTML = "Apple";
fruits.appendChild(p); // Using the appendChild() method
}
</script>
</body>
</html>
从 HTML 元素中移除子元素
您可以使用 removeChild() 方法从特定 HTML 元素中移除子元素。
语法
请按照以下语法使用 removeChild() 方法。
element.removeChild(child_ele)
当您需要移除子元素并将子元素作为参数传递时,需要将 HTML 元素用作 removeChild() 方法的引用。
示例
在下面的代码中,我们从 <div> 元素中移除 <p> Apple <p>。
<html>
<body>
<div id = "fruits">
<p> Banana </p>
<p> Watermelon </p>
<p> Apple </p>
</div>
<button onclick = "removeFruit()"> Remove Apple </button>
<script>
function removeFruit() {
const fruits = document.getElementById("fruits");
const apple = fruits.children[2];
fruits.removeChild(apple);
}
</script>
</body>
</html>
使用 document.write() 方法
document.write() 方法会替换网页的全部内容并写入新的 HTML 代码。
语法
请按照以下语法使用 document.write() 方法。
document.write(HTML);
document.write() 方法以字符串格式的 HTML 代码作为参数。
示例
在下面的代码中,我们使用 document.write() 方法替换整个网页的内容。
<html>
<body>
<div id = "fruits">
<p> Banana </p>
<p> WaterMealon </p>
<p> Apple </p>
</div>
<button onclick="replaceContent()"> Replace content </button>
<script>
function replaceContent() {
document.write("Hello World");
}
</script>
</body>
</html>
为了进行更多练习,您可以尝试更改 HTML 元素的第一个子元素、最后一个子元素、其他属性等。

