JS函数向HTML追加符号代码显示异常问题求助
解决HTML实体重复转义导致符号不显示问题
问题出在你用了textContent属性,这个属性会把所有传入的内容当作纯文本处理,不会解析HTML实体。你传入的☀本身是☀的转义形式,经过textContent处理后会再次转义,最终变成☀,所以页面显示的是☀而不是太阳符号。
给你三种直接有效的解决方法:
改用
innerHTML属性,传入原始的HTML实体编码:htmlElement.innerHTML = '☀';浏览器会自动解析这个实体,渲染出太阳符号。
直接使用Unicode字符本身,不需要实体编码:
htmlElement.textContent = '☀';这种方式最直接,
textContent能正确识别并渲染该字符。用JavaScript的Unicode转义序列替代实体编码:
htmlElement.textContent = '\u2600';效果和直接写字符一样,适合字符难以直接输入的场景。
内容的提问来源于stack exchange,提问作者JustSoni
相关产品推荐
相关产品推荐

