【发布时间】:2010-10-17 14:44:32
【问题描述】:
编辑:哇。这个问题现在已经 12 岁了。
正如有人所说,自 2016 年以来可以使用单线完成:https://stackoverflow.com/a/69322509/80907
原文:
我想知道是否有一种方法可以在不使用 innerHTML 的情况下更改 HTML 中任何内容的文本。
我问的原因是因为它有点被 W3C 反对。 我知道这是吹毛求疵,但我只想知道,有没有办法?
编辑:人们似乎误解了我在这里的要求:我想找到一种方法来有效地更改正在显示的文本。
如果我有:
<div id="one">One</a>
innerHTML 允许我这样做:
var text = document.getElementsById("one");
text.innerHTML = "Two";
我屏幕上的文字也会改变。
我不想追加更多的文字,我想改变所有已经存在的文字。
【问题讨论】:
-
仅供参考:与使用 DOM createElement、createTextNode 等相比,innerHTML 速度极快。效率考虑:quirksmode.org/dom/innerhtml.html 此外,innerHTML 是 HTML5 的一部分!
-
@Marco 你说 innerHTML 是 HTML5 的一部分是什么意思?
-
@Pacerier:innerHTML 适用于所有浏览器,但它不是 W3C HTML4.1 标准的一部分(WebDevHobo 表示对此不赞成)。而 innerHTML 应该是 HTML5 的一部分:w3.org/TR/2011/WD-html5-diff-20110113/#htmldocument-extensions
-
可能是因为它是
.innerHTML而不是.innerHtml,Javascript(与 PHP 不同)是一种区分大小写的语言。 -
@Chechulin ericvasilik.com/2006/07/code-karma.html(TL;DR:当他们发明 innerHTML 时,他们无法让它在表格上工作,所以他们在表格上将其设为只读。这仅在 IE9 中得到修复。文章由 innerHTML 的发明者所著。)
标签: javascript w3c innerhtml