js 如何给html赋值
- 前端开发
- 2025-09-02
- 4
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.