我正在编写一个javascript函数来将指向箭头从一个html元素移动到另一个html元素。 “&#9664”在HTML中显示一个箭头。
麻烦的是,虽然我可以向innerHTML添加箭头,但我似乎无法从当前选择中删除箭头。
以下是我的代码的相关部分:
var current;
function changeArrowFunction(line) {
if (typeof current != 'undefined')
current.innerHTML = current.innerHTML.replace(" ◀","");
line.innerHTML = line.innerHTML + " ◀";
current = line;
}
我尝试改变类型的条件或完全删除它没有任何改进的迹象,所以似乎问题是使用replace()。
答案 0 :(得分:3)
问题是内部html不保留html代码。
如果您记录/提醒innerHTML
的值,您可以看到字符◀
可见而不是字符串◀
,因此替换功能无法使用找到替换它的字符序列。
var current;
function changeArrayFunction(line) {
if (typeof current != 'undefined') {
current.innerHTML = current.innerHTML.replace(" ◀", "");
}
line.innerHTML = line.innerHTML + " ◀";
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>
&#13;