Javascript 更改(文档)上受正则表达式影响的字符串的颜色。准备好了吗

Javascript 更改(文档)上受正则表达式影响的字符串的颜色。准备好了吗,javascript,jquery,Javascript,Jquery,所以我想在这里完成的是,改变受某些正则表达式影响的单词的颜色 $(document).ready(function(){ container = $("#modal_container section").text(); hashtags = /\#\w+/g; var container_hash = container.match(hashtags); $(container_hash).css({'color':'red'}); //We're grabbing t

所以我想在这里完成的是,改变受某些正则表达式影响的单词的颜色

$(document).ready(function(){

  container = $("#modal_container section").text();
  hashtags = /\#\w+/g;
  var container_hash = container.match(hashtags);
  $(container_hash).css({'color':'red'}); 
  //We're grabbing the words, but how can I change the color?
  alert(container_hash);

 });
这里有一把小提琴使它更清楚


谢谢

您不能更改文本节点/文本的颜色,您应该使用元素包装匹配的文本,然后设置该元素的样式

$("#modal_container section p").html(function(_, html) {
   return html.replace(/(\#\w+)/g, '<span class="red">$1</span>');   
});
$(“#modal_container section p”).html(函数(#,html){
返回html.replace(/(\\\\\w+)/g,$1');
});

$(函数(){
var container=$(“#modal#u container section”);
var htmlWrappedHashtags=container.html();
html(htmlWrappedHashtags);
$(“.red”).css({'color':'red'});//或者更好:在css中包含“.red{color:red;}”
});

这类功能符合您的要求(或者应该是一个很好的例子):


$(文档).ready(函数(){
var text=$(“#模态_容器”).html();
var myRegExp=new RegExp(“\\\\\w+”,“gi”);
var newtext=text.replace(myRegExp,$&');
$(“#空”).html(新文本);
});
#作品
#设计工作
甚至不接近

您不能随意选择某个元素的某些文本来更改单个单词的颜色。你需要把每个单词都用span元素包起来,然后改变每个span的颜色。谢谢,这就可以了。但是,跨度内的1美元意味着什么?我只是好奇…@Aaron不客气,这指的是在正则表达式的第一个
()
中由模式选择的字符串。比我的要优雅得多。。保存以备将来参考:)这同样有效,但我接受了前面的答案。回答得很好:)@Aaron:是的,我比他慢。前面的答案还有一个提琴和一个文字解释,所以很公平:)
 $(function(){

  var container = $("#modal_container section");
  var htmlWrappedHashtags = container.html().replace(/\(#\w+)/g, '<span class="red">$1</span>');
  container.html(htmlWrappedHashtags);

  $(".red").css({'color':'red'}); // or better: include ".red {color: red;}" into your CSS

 });
<script type="text/javascript">
    $(document).ready(function(){
        var text = $("#modal_container").html();
        var myRegExp = new RegExp('\\#\\w+','gi');
        var newtext = text.replace(myRegExp,'<span style="color:red;">$&</span>');
        $("#empty").html(newtext);
    });
</script>
<div id="modal_container">
    #works<br />
    # Desnt Work<br />
    Not Even Close<br />
</div>
<div id="empty" style="margin-top:30px;">
</div>