js 如何给html赋值
- 前端开发
- 2025-09-02
- 24
JavaScript 中,给 HTML 元素赋值是一项常见的操作,通过 JavaScript,我们可以动态地修改 HTML 内容,从而实现丰富的交互效果,以下是几种常见的方法来给 HTML 元素赋值:
使用 innerHTML
innerHTML 属性允许我们获取或设置 HTML 元素的 HTML 内容,它不仅可以插入文本,还可以插入 HTML 标签。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">InnerHTML Example</title>
</head>
<body>
<div id="content"></div>
<script>
// 获取元素
const contentDiv = document.getElementById('content');
// 设置 innerHTML
contentDiv.innerHTML = '<h1>Hello, World!</h1><p>This is a paragraph.</p>';
</script>
</body>
</html>
使用 textContent
textContent 属性用于设置或获取元素的文本内容,与 innerHTML 不同,textContent 不会解析 HTML 标签,而是直接插入纯文本。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">TextContent Example</title>
</head>
<body>
<div id="content"></div>
<script>
// 获取元素
const contentDiv = document.getElementById('content');
// 设置 textContent
contentDiv.textContent = 'This is a plain text paragraph.';
</script>
</body>
</html>
使用 value 属性
对于表单元素(如输入框、文本域等),可以使用 value 属性来设置其值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">Value Example</title>
</head>
<body>
<input type="text" id="inputField" />
<script>
// 获取元素
const inputField = document.getElementById('inputField');
// 设置 value
inputField.value = 'This is the input value.';
</script>
</body>
</html>
使用 outerHTML
outerHTML 属性允许我们获取或设置元素本身的 HTML,包括元素本身。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">OuterHTML Example</title>
</head>
<body>
<div id="content" class="content-class">Original Content</div>
<script>
// 获取元素
const contentDiv = document.getElementById('content');
// 设置 outerHTML
contentDiv.outerHTML = '<div id="content" class="new-class">New Content</div>';
</script>
</body>
</html>
使用 innerText
innerText 属性与 textContent 类似,但它会考虑 CSS 样式,并且不会解析 HTML 标签。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">InnerText Example</title>
</head>
<body>
<div id="content"></div>
<script>
// 获取元素
const contentDiv = document.getElementById('content');
// 设置 innerText
contentDiv.innerText = 'This is a styled text paragraph.';
</script>
</body>
</html>
使用 setAttribute 和 getAttribute
对于元素的属性,可以使用 setAttribute 和 getAttribute 方法来设置和获取属性值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">SetAttribute Example</title>
</head>
<body>
<img id="image" src="default.jpg" alt="Default Image">
<script>
// 获取元素
const image = document.getElementById('image');
// 设置 src 属性
image.setAttribute('src', 'new-image.jpg');
// 获取 alt 属性
const altText = image.getAttribute('alt');
console.log(altText); // 输出: Default Image
</script>
</body>
</html>
使用 dataset
dataset 属性允许我们访问数据属性(如 data-)的值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">DataSet Example</title>
</head>
<body>
<div id="dataDiv" data-info="Some data"></div>
<script>
// 获取元素
const dataDiv = document.getElementById('dataDiv');
// 设置 dataset
dataDiv.dataset.info = 'New data';
// 获取 dataset
const dataInfo = dataDiv.dataset.info;
console.log(dataInfo); // 输出: New data
</script>
</body>
</html>
使用 createElement 和 appendChild
有时我们需要创建新的元素并将其添加到 DOM 中,可以使用 document.createElement 创建元素,然后使用 appendChild 或 insertBefore 将其添加到页面中。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">CreateElement Example</title>
</head>
<body>
<div id="container"></div>
<script>
// 获取容器元素
const container = document.getElementById('container');
// 创建新元素
const newElement = document.createElement('p');
newElement.textContent = 'This is a new paragraph.';
// 添加新元素到容器中
container.appendChild(newElement);
</script>
</body>
</html>
使用 replaceChild 和 removeChild
有时我们需要替换或移除现有的元素,可以使用 replaceChild 和 removeChild 方法来实现。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">ReplaceChild Example</title>
</head>
<body>
<div id="container">
<p id="oldParagraph">Old paragraph</p>
</div>
<script>
// 获取容器和旧元素
const container = document.getElementById('container');
const oldParagraph = document.getElementById('oldParagraph');
// 创建新元素
const newParagraph = document.createElement('p');
newParagraph.textContent = 'New paragraph';
// 替换旧元素
container.replaceChild(newParagraph, oldParagraph);
</script>
</body>
</html>
使用 querySelector 和 querySelectorAll
querySelector 和 querySelectorAll 方法允许我们通过 CSS 选择器来获取元素,然后进行赋值操作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">QuerySelector Example</title>
</head>
<body>
<div class="content">Original Content</div>
<script>
// 使用 querySelector 获取元素
const contentDiv = document.querySelector('.content');
// 设置 innerHTML
contentDiv.innerHTML = '<h1>New Content</h1><p>This is a new paragraph.</p>';
</script>
</body>
</html>
相关问答 FAQs
Q1: innerHTML 和 textContent 有什么区别?
A1: innerHTML 用于设置或获取元素的 HTML 内容,可以插入 HTML 标签,而 textContent 用于设置或获取元素的纯文本内容,不会解析 HTML 标签。innerHTML 可以插入 <b> 标签使文本加粗,而 textContent 只会插入纯文本。
Q2: 如何动态创建一个按钮并添加到页面中?
A2: 可以使用 document.createElement 创建一个按钮元素,然后使用 appendChild 或 insertBefore 将其添加到页面中。
const button = document.createElement('button');
button.textContent = 'Click Me';
document.body.
