动态Unicode生成到DOM中

时间:2015-06-03 05:16:58

标签: javascript dom unicode

我有一个函数链接到我正在处理的JavaScript库的方法。基本上采用罗马化韩语并将其转换为特定的Unicode序列并将其重新插入DOM。它生成的结果字符串是正确的,但重新插入DOM似乎已经关闭......

例如:如果我的DOM中有以下内容:

<ko>hangug-eo</ko>

该功能旨在相应地对其进行转换,将hangug-eo替换为&#54620;&#44397;&#50612;以在浏览器上显示:

한국어代码中的

<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);
    }
}

然而,似乎所有这些似乎只是将&amp; #Unicode实体直接放入DOM而不转换为它们各自的字符等价物......所以我所看到的只是&#54620;&#44397;&#50612;

任何人都可以指出我可能做错了吗?

kimchi.go()是最终提供Unicoded字符串的函数...

1 个答案:

答案 0 :(得分:1)

您始终可以使用textContent直接设置文本,而无需使用HTML实体:

z[x].textContent = '한국어';

但是如果你需要使用HTML实体,那么只需使用innerHTML

z[x].innerHTML = kimchi.go(z[x].childNodes[0].data);

您可以在下面的示例中看到后者。

https://jsfiddle.net/nmL3to8w/1/