我正在尝试使用‌
innerHTML
输出应为
This div contains a zero-width‌non-joiner, a non-breaking space & an ampersand
但输出是:
This div contains a zero-widthnon-joiner, a non-breaking space & an ampersand
如何获得‌
?
alert(document.getElementsByTagName('div')[0].innerHTML)
<div>This div contains a zero-width‌non-joiner, a non-breaking space & an ampersand</div>
答案 0 :(得分:1)
您的角色位于提取的(innerHTML
)文本中,只是没有编码为HTML实体。
如果您愿意,可以将字符替换为其实体:
alert(document.getElementsByTagName('div')[0].innerHTML.replace(//g, '‌'));
<div>This div contains a zero-width‌non-joiner, a non-breaking space & an ampersand</div>
Yong Quan发布了一些比我更好的代码,如果你想让你的应用程序更易于维护使用unicode。我上面的正则表达式令人困惑,这更容易理解:
.replace(/\u200c/g, '‌')
答案 1 :(得分:1)
您可以使用其unicode \u200c
进行搜索。然后将其替换为‌
字符串。
alert(document.getElementsByTagName('div')[0].innerHTML.replace(/\u200c/g, '‌'))
&#13;
<div>This div contains a zero-width‌non-joiner, a non-breaking space & an ampersand</div>
&#13;