📅  最后修改于: 2023-12-03 15:31:13.875000             🧑  作者: Mango
在 HTML 和 JavaScript 中,我们可以使用文本属性来访问/更改元素的文本内容。在 Document Object Model (DOM) 中,我们使用属性来访问/更改 HTML 或 XML 元素。
innerHTML
属性可以获取或设置 HTML 元素的内容,包括标签和文本。
<div id="myDiv">
<p>Hello World!</p>
</div>
const myDiv = document.getElementById('myDiv');
console.log(myDiv.innerHTML); // 输出 <p>Hello World!</p>
myDiv.innerHTML = '<h1>Hello World!</h1>';
console.log(myDiv.innerHTML); // 输出 <h1>Hello World!</h1>
outerHTML
属性可以获取或设置 HTML 元素及其内容,包括标签。
<div id="myDiv">
<p>Hello World!</p>
</div>
const myDiv = document.getElementById('myDiv');
console.log(myDiv.outerHTML); // 输出 <div id="myDiv"><p>Hello World!</p></div>
myDiv.outerHTML = '<span id="mySpan"><p>Hello World!</p></span>';
console.log(document.getElementById('mySpan').outerHTML); // 输出 <span id="mySpan"><p>Hello World!</p></span>
textContent
属性可以获取或设置 HTML 元素的文本内容,不包括标签。
<div id="myDiv">
<p>Hello World!</p>
</div>
const myDiv = document.getElementById('myDiv');
console.log(myDiv.textContent); // 输出 Hello World!
myDiv.textContent = 'Hello DOM!';
console.log(myDiv.textContent); // 输出 Hello DOM!
nodeValue
属性可以获取或设置 XML 元素的文本内容,不包括标签。在 HTML 元素中获取该属性将返回 null。
<p id="myP">Hello World!</p>
const myP = document.getElementById('myP').firstChild;
console.log(myP.nodeValue); // 输出 Hello World!
myP.nodeValue = 'Hello DOM!';
console.log(myP.nodeValue); // 输出 Hello DOM!
data
属性与 nodeValue
属性类似,可以获取或设置 XML 元素的文本内容,不包括标签。
<p id="myP">Hello World!</p>
const myP = document.getElementById('myP').firstChild;
console.log(myP.data); // 输出 Hello World!
myP.data = 'Hello DOM!';
console.log(myP.data); // 输出 Hello DOM!
text
属性与 textContent
属性类似,可以获取或设置 XML 元素的文本内容,不包括标签。
<p id="myP">Hello World!</p>
const myP = document.getElementById('myP').firstChild;
console.log(myP.text); // 输出 Hello World!
myP.text = 'Hello DOM!';
console.log(myP.text); // 输出 Hello DOM!
文本属性是一种修改元素内容的重要方式,可以使用不同属性来获取或设置 HTML 或 XML 元素的文本内容。在选择使用哪种属性时,应考虑元素类型以及是否需要保留元素标签。