0

如果我有以下 div:

<div id="target">
red <br>

blue <br>

green <br>

</div>

我想添加一个脚本来更改每个颜色词,使其具有自己的颜色(“红色”将是红色等等)。

网站上的解决方案是这样的:

var target=$('#target');
target.html(target.html().replace(/red/,"<span style='color:red'>$&</span>").replace(/blue/,"<span style='color:blue'>$&</span>").replace(/green/,"<span style='color:green'>$&</span>"));

谁能解释一下?在我的解决方案中,我添加了具有正确文本颜色的跨度,并在跨度内写入了单词(例如红色)。但是在这个解决方案中,他们添加了这些符号 $%,我不明白它是如何工作的。

4

4 回答 4

1

$&代表比赛。例如,red对于/red/

于 2013-04-28T14:56:26.587 回答
0

这里$&代表比赛

例子:red for /red/

于 2013-04-28T14:56:40.823 回答
0

首先$&是一个正则表达式。它从任何正则表达式搜索中返回最后匹配的字符

在这种情况red/red/

于 2013-04-28T14:59:37.923 回答
-1

您可以使用此解决方案替代REGX,

$(function(){

    var xStr="";

    $.each($("#target").html().split("<br>"),function(xIndex,xVal)
           {
               if(xVal.trim() !== "")
               {
                   xStr += "<span style='color:"+ xVal +"'>"+ xVal +"</span><br>"
               }
           });

    $("#target").html(xStr);

});

参考:$.each , Split()

演示:小提琴

于 2013-04-28T15:18:31.230 回答