innerHTML、outerHTML、textContent、innerText、outerText实例属性的区别

1.innerHTML和outerHTML区别

实例属性区别
ElementinnerHTML目标元素标签之间的 HTML 代码,不包括目标元素标签本身。
ElementouterHTML目标元素标签之间的 HTML 代码,包括目标元素标签本身。
//HTML
<div id="d">
  <p>Content</p>
  <p>Further Elaborated</p>
</div>

//JS
const d = document.getElementById("d");
//innerHTML
console.log(d.innerHTML);
//输出
<p>Content</p><p>Further Elaborated</p>
//outerHTML
console.log(d.outerHTML);
//输出
<div id="d"><p>Content</p><p>Further Elaborated</p></div>

2.textContent和innerText区别

实例属性区别
NodetextContent渲染前目标元素标签之间的元素内容,不包括目标元素标签本身。
HTMLElementinnerText渲染后目标元素标签之间的元素内容,不包括目标元素标签本身。
//HTML
<p id="source">
  <style>
    #source {
      color: red;
    }
    #text {
      text-transform: uppercase;
    }
  </style>
  <span id="text">
    Take a look at<br />
    how this text<br />
    is interpreted below.
  </span>
  <span style="display:none">HIDDEN TEXT</span>
</p>
<textarea id="textContentOutput" rows="6" cols="30" readonly>…</textarea>
<textarea id="innerTextOutput" rows="6" cols="30" readonly>…</textarea>

//JS
const source = document.getElementById("source");
const textContentOutput = document.getElementById("textContentOutput");
const innerTextOutput = document.getElementById("innerTextOutput");
//textContent
textContentOutput.value = source.textContent;
//输出
#source {
  color: red;
}
#text {
  text-transform: uppercase;
}
  
  
Take a look at
how this text
is interpreted below.
  
HIDDEN TEXT
//innerText
innerTextOutput.value = source.innerText;
//输出
TAKE A LOOK AT
HOW THIS TEXT
IS INTERPRETED BELOW.

3.innerText和outerText区别

实例属性区别
HTMLElementinnerText渲染后目标元素标签之间的元素内容,不包括目标元素标签本身。
HTMLElementouterText渲染后目标元素标签之间的元素内容,包括目标元素标签本身。
//HTML
<div>
  <p>Change Me</p>
</div>
//innerText
p.innerText = "Changed!"
//输出
<div>
  <p>Changed!</p>
</div>
//outerText
p.outerText = "Changed!"
//输出
<div>
   Changed!
</div>

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/javascriptexp/31854.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2023年10月11日 01:09
下一篇 2023年10月29日 01:55

相关推荐

  • type=”module”、defer、async属性的区别

    当 <script> 标签无 type=”module” 属性时,defer 和 async 属性都只可以被用在 <script> 元素的外部方式,如果被用在 <script> 元素的内部方式,则会被忽略。 当 <script> 标签有 type=”module” 属性时…

    JavaScript经验 2024年1月25日
    06460
  • Node.js包中的模块的解析规则

    当我们开发的应用在浏览器环境中运行时,必须使用 ES 模块规范。 当我们开发的应用在服务器环境中运行时,既可以使用 ES 模块规范,又可以使用 Node.js 风格的 CommonJS 模块规范,本文介绍 Node.js 包中的模块的解析规则。 1.包入口点 在一个包的 package.json 文件里,”main” …

    JavaScript经验 2024年2月15日
    06480
  • JavaScript对象简谱(JavaScript Object Notation,JSON)详解

    1.结构(structure) 1.1对象(object) 对象(object)是“键/值”对的无序集合。 一个对象以左花括号 { 开始,然后以右花括号 } 结束。键必须使用双引号字符串,每个键后跟一个冒号 :  ,“键/值”对之间使用逗号 , 分隔。 1.2数组(array) 数组(array)是值的有序集合。 一个…

    JavaScript经验 2023年3月2日
    05550

发表回复

登录后才能评论