检索隐藏元素的innerText

pow*_*uoy 4 javascript innertext

我正在尝试获取元素,innerText但Chrome返回一个空字符串,因为我的元素是隐藏的.

Firefox没有.

innerText即使元素不可见,有没有办法在Chrome中检索?

console.log(document.querySelector('div').innerText + ':' + document.querySelector('div').innerHTML);
Run Code Online (Sandbox Code Playgroud)
div {
  height: 0;
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
<div>
Hello, I'm <strong>empty!</strong>
</div>
Run Code Online (Sandbox Code Playgroud)

老实说,我真的很惊讶Chrome的表现如此,这是一个错误吗?

https://jsfiddle.net/r8q2znc4/

ade*_*neo 7

您想要使用textContent它,因为它从隐藏元素返回文本

document.querySelector('div').textContent
Run Code Online (Sandbox Code Playgroud)

文件指出,

TextContent不同于innerText......

Internet Explorer介绍node.innerText.
意图相似但有以下不同之处:

虽然textContent得到的所有元素,包括内容<script><style>元素,innerText其实不然.

innerText知道风格,不会返回隐藏元素的文本,而textContent 将会.

innerText知道CSS样式,它将触发回流,而textContent不会.

这不是Chrome漏洞,而是Firefox漏洞,innerText不应该返回隐藏元素的内容.