Javascript 用于在段落中突出显示搜索文本的简单JS代码

Javascript 用于在段落中突出显示搜索文本的简单JS代码,javascript,jquery,Javascript,Jquery,我试图重写以满足我的需要,但我迷失在小提琴作者所做的所有替换魔法中。这是我的 我的目标是找出段落中出现的所有“a”字母,并突出显示它们。我就是不明白为什么我的字母被替换成1$而不是突出显示。有人能帮我吗 HTML 改用\$& $(文档).ready(函数(){ var text='a'; var query=newregexp(文本,“gim”); var e=document.getElementById(“searchtext”).innerHTML; var enew=e.replace

我试图重写以满足我的需要,但我迷失在小提琴作者所做的所有替换魔法中。这是我的

我的目标是找出段落中出现的所有“a”字母,并突出显示它们。我就是不明白为什么我的字母被替换成
1$
而不是突出显示。有人能帮我吗

HTML


改用
\$&

$(文档).ready(函数(){
var text='a';
var query=newregexp(文本,“gim”);
var e=document.getElementById(“searchtext”).innerHTML;
var enew=e.replace(/(|))/igm,“”;
document.getElementById(“searchtext”).innerHTML=enew;
var newe=enew.replace(查询“\$&”);
document.getElementById(“searchtext”).innerHTML=newe;
});
#搜索文本范围{
背景色:#FF9;
颜色:#555;
}

我想强调这一段中的所有“a”字母


'1$!='$1'
…你能解释一下
\$&
的作用吗?@Nick我认为
$&
被用作替换模式,而不是最后一个正则表达式匹配项(你发布的链接)。
<div id="searchtext">
  <p>I want to highlight all "a" letters in this paragraph</p>
</div>
$(document).ready(function() {
      var text = 'a';
      var query = new RegExp(text, "gim");
      var e = document.getElementById("searchtext").innerHTML;
      var enew = e.replace(/(<span>|<\/span>)/igm, "");
      document.getElementById("searchtext").innerHTML = enew;
      var newe = enew.replace(query, "<span>1$</span>");
      document.getElementById("searchtext").innerHTML = newe;
    });
#searchtext span {
  background-color: #FF9;
  color: #555;
}