繁体   English   中英

使用string.replace()Javascript和Unicode符号时遇到问题

[英]Trouble using string.replace() Javascript with Unicode Symbols

我正在编写一个javascript函数,将指向箭头从一个html元素移动到另一个html元素。 “&#9664”显示HTML中的箭头。

麻烦的是,尽管我可以向innerHTML添加箭头,但似乎无法从当前选择中删除箭头。

这是我的代码的相关部分:

var current;
function changeArrowFunction(line) {
if (typeof current != 'undefined')
    current.innerHTML = current.innerHTML.replace(" &#9664","");
line.innerHTML = line.innerHTML + " &#9664";
current = line;
}

我尝试更改typeof条件或将其完全删除而没有任何改善的迹象,因此似乎问题出在replace()上。

问题是内部html不会保留html代码。

如果您记录/警告innerHTML的值,则可以看到字符可见,而不是字符串&#9664 ,因此replace函数将无法找到要替换的字符序列。

 var current; function changeArrayFunction(line) { if (typeof current != 'undefined') { current.innerHTML = current.innerHTML.replace(" ◀", ""); } line.innerHTML = line.innerHTML + " &#9664"; current = line; } var c = 0; function test() { changeArrayFunction(document.getElementById('d-' + (++c))) } 
 <div id="d-1">adf</div> <div id="d-2">adf</div> <div id="d-3">adf</div> <div id="d-4">adf</div> <button onclick="test();">Test</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM