【发布时间】:2020-02-07 20:53:46
【问题描述】:
我以一种非常草率的方式解决了一个问题,正在寻找更好的解决方案。
任务
检查 span 是否包含 HTML 符号(箭头),如果存在,将符号替换为相反的符号。
第一次尝试(未显示执行相反操作的第二个代码片段)
first=headers[0].querySelector('span')
if (first.innerHTML.indexOf('↘') !== -1)
first.innerHTML=first.innerHTML.substring(0, first.innerHTML.length - 13)
first.innerHTML+=' ↖'
为什么这不起作用?
因为  ===  
但出于某种原因↘ === ↘
说真的!试试这个(在 IE 11 和 chrome 中测试)
<span>test</span>
<script>
first=document.querySelector('span')
first.innerHTML+=' ↘'
console.log(first.innerHTML)
</script>
在控制台中你会得到:test&nbsp;↘
我的丑陋解决方案
我将箭头复制到我的 JS 代码中
if (first.innerHTML.indexOf('↘') !== -1)
first.innerHTML=first.innerHTML.substring(0, first.innerHTML.length - 7)
first.innerHTML+=' ↖'
那么...解决这个问题的正确方法是什么?
【问题讨论】:
-
您的解决方案似乎不正确?
标签: javascript symbols indexof