【发布时间】:2017-08-20 23:35:21
【问题描述】:
下面的测试代码结果:
div[0].innerText === "aaaaa zzzzz"
div[1].innerText === "aaaaainvisiblezzzzz"
如何强制innerText 为div[1] 提供与div[0] 相同的结果?
我尝试将div[1] 附加到一个临时文档,但由于该文档并未实际显示,因此没有帮助。只有将其附加到字面上可见的文档才有效。
测试代码
var div = [];
div[0] = document.getElementById("visible");
div[1] = div[0].cloneNode(true);
show(0);
show(1);
function show(i) {
document.getElementById("output").innerHTML +=
"<p>div[" + i + "].innerText === <code>" +
div[i].innerText.replace(/\n/g, "") + "</code></p>";
}
#visible {display: block; font-family: sans-serif; font-size: larger; color: red;}
code {background-color: lightgray; padding: 0 .318em;}
<div id="visible">
<span style="display: inline">aaaaa</span>
<span style="display: none">invisible</span>
<span style="display: inline">zzzzz</span>
</div>
<div id="output"></p>
【问题讨论】:
-
jQuery 可以接受吗?
-
@DineiRockenbach:我认为如果您发布一个 JQuery 答案是为了其他用户的利益是可以的。我会投赞成票,但我只会选择纯 Javascript 答案作为解决方案。
标签: javascript innertext