首页 > 解决方案 > 如何删除突出显示的单词后的多余空格?

问题描述

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

该句子将使用波斯语和从右到左。所有单词用“|”分隔 在句子中。

我正在使用数组,因为其他常用方法不适用于 RTL 文本,包括这篇文章中的替换方法: 如何使用 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(" ");  
}

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

标签: javascript

解决方案


无需增加数组元素的数量,只需将单词包装在该特定数组元素内:

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

演示 -链接


推荐阅读