我有一个函数链接到我正在处理的 JavaScript 库的方法。基本上采用罗马化的韩语并将其转换为特定的 Unicode 序列,然后将其重新插入到 DOM 中。它生成的结果字符串是正确的,但重新插入到 DOM 中似乎不正确...
例如:如果我的 DOM 中有以下内容:
<ko>hangug-eo</ko>
该函数旨在相应地转换它,替换 hangug-eo
与 한국어
在浏览器上显示:
한국어
在 <ko>
内标签...
在DOM中进行字符串设置的函数如下:
function (){
var z=document.getElementsByTagName('ko');
for(x=z.length;x--;){
z[x].childNodes[0].data=kimchi.go(z[x].childNodes[0].data);
}
}
然而,似乎所有这一切似乎只是将 Unicode 实体直接放入 DOM 而没有将其转换为它们各自的字符等价物......所以我所看到的是 한국어
谁能指出我可能做错了什么?
kimchi.go()
是最终提供 Unicoded 字符串的函数...
最佳答案
您始终可以直接使用 textContent
设置文本,而无需使用 HTML 实体:
z[x].textContent = '한국어';
但是如果您需要使用 HTML 实体,只需使用 innerHTML 代替
z[x].innerHTML = kimchi.go(z[x].childNodes[0].data);
您可以在下面的示例中看到后者。
关于javascript - DOM 中的动态 Unicode 生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30611366/