我有一个div,其内容是我的家与管理
<div id="abc"> My Home & Administration></div>
在脚本中,我需要这个div的内容复制到我的网页标题。 目前我使用的编码值innerHTML属性。
<script type="text/javascript>
var id = document.getElementById("abc");
document.title = id.innerHTML;
</script>
标题显示为我的家庭和放大器; 管理局 (注:无视之间及和放大器的空间;)
是否存在这样的标题显示为任何替代办法? 我无法从纯粹和简单的JavaScript使用JQuery或任何框架,除了
另外请注意,这不是URL编码,而是转换字符到他们的HTML实体。
您可以使用.textContent
而不是.innerHTML
。
.innerHTML
其实不是DOM规范的一部分。 大多数浏览器提供它作为一个非标准的功能。 有几个问题.innerHTML
。
既然你有兴趣,你可以使用节点的实际文本值.textContent
。
要知道,这可能是有用的div
ABC实际上其内部具有一个节点,一个TextNode
,其中包含的价值。 该div
本身并不实际持有的价值。 如果你要遍历DOM,你会看到这个文本节点。
如果你的HTML是:
<div id="abc">Foo <strong>bar</strong> baz</div>
您的结构将是:
`div`:abc
TextNode Foo
`strong`
TextNode bar
TextNode baz
在这种情况下abc.textContent
将返回"Foo bar baz"
所以它忽略了strong
标签。
相比之下.innerHTML
将返回"Foo <strong>bar</strong> baz"
同样,对于:
<div id="abc">Foo&Bar</div>
.textContent
将是"Foo&Bar"
, .innerHTML
将"Foo&Bar"
文章来源: How do I prevent HTML encoding of '&' characters while copying content from a div to the title of the page?