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

相关推荐

  • JavaScript语言的展开(Spread)语法

    1.展开可迭代对象 1.1用于变量赋值 1.2用于函数实参 具体参考“用于变量赋值”章节。 2.展开对象字面量 2.1用于变量赋值 2.2用于函数实参 JavaScript 语言不支持用于函数实参。

    JavaScript经验 2025年4月3日
    0620
  • JavaScript语言的成员名

    支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。 支持对象字面量的成员:数据属性、访问器属性、方法。 成员名的类型只可以为 字符串类型(包括空字符串) 或者 符号类型。 注意:此处成员名用于“成员声明”的时候,而不是“访问成员”的时候。 实际上,比较两个成员名是否相等采用的是相等 …

    JavaScript经验 2025年4月3日
    0560
  • JavaScript语言的函数递归(Recursion)

    一个函数定义的函数体内有此函数的函数调用,此时便形成了函数递归(Recursion)。

    JavaScript经验 2025年4月3日
    0530

发表回复

登录后才能评论