首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将包含十六进制unicode字符的innerHTML更改为另一个与JavaScript类似的字符?

如何将包含十六进制unicode字符的innerHTML更改为另一个与JavaScript类似的字符?
EN

Stack Overflow用户
提问于 2021-02-03 01:58:48
回答 1查看 69关注 0票数 1

我有一个网站菜单,在有子菜单的项目旁边显示向下箭头。这个箭头()包含在如下所示的跨度中:<span class="h-open-icon>&#9660;</span>,我想将其更改为:<span class="h-open-icon>&#9650;</span> (此字符:▲)

在Javascript中,我尝试使用以下代码(较大脚本的一部分)-它适用于更改纯字母数字文本(例如innerHTML === "text"等)-当子菜单打开时将其更改为向上箭头:

代码语言:javascript
运行
复制
let hstr = button.querySelector('.h-open-icon');
    if (hstr.innerHTML === "\&\#9660\;") {
        hstr.innerHTML = "\&\#9650\;";
    } else {
        hstr.innerHTML = "\&\#9660\;";
    }

但这是行不通的。我认为这一定与转义字符有关,但我所能找到的只是如何删除它们的帮助,而不是保留它们。我只需要修改#后面的数字。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-03 02:11:10

您可以通过将符号包含在JS中来避开这个问题:

代码语言:javascript
运行
复制
let hstr = document.getElementById("toggle");
hstr.onclick = function(){
    if (hstr.innerHTML == "▼") {
        hstr.innerHTML = "▲";
    } else {
        hstr.innerHTML = "▼";
    }
}
代码语言:javascript
运行
复制
<button id=toggle>▼</button>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66015142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档