如何删除突出显示的单词后的多余空间?

时间:2019-05-18 08:28:24

标签: javascript

我有一个获取数字并从句子中突出显示该单词号的函数。

句子为波斯语,从右至左。 所有单词都用“ |”分隔在句子中。

我正在使用数组,因为其他常用方法不适用于RTL文本,包括本文中的replace方法: How to highlight text using javascript

问题是当单词突出显示时,每个单词后面都有一个多余的空格,我不需要突出显示该空格。

我想消除那个。

我在这里准备了一个演示: https://liveweave.com/vp6YQi

function hilWrd(i) {
  var txt1 = document.getElementById( "RTL1" ).innerHTML;
  var txt2 = document.getElementById( "RTL2" );
  var ary = txt1.split("|");

  ary.splice( i-1, 0, "<span class='hil'>" );
  ary.splice( i-1 + 2, 0, "</span>" );
  txt2.innerHTML = ary.join(" ");  
}

预期结果:突出显示“تست” 实际结果:突出显示“تست”

1 个答案:

答案 0 :(得分:2)

与其增加数组元素的数量,不如将单词包装在该特定数组元素内:

ary[i-1] = "<span class='hil'>" + ary[i-1] + "</span>";

演示-Link