我想我对此太愚蠢了。为什么我的代码只替换每个单词的第一个实例?我想用这些名字突出显示所有单词
//highlight words in the results
$("#results").html(function() {
return $(this).html()
.replace("OK", '<span class="label label-success p-3">OK</span>')
.replace("ERROR:", '<span class="label label-danger p-3">ERROR:</span>')
.replace("FAIL:", '<span class="label label-warning p-3">FAIL:</span>')
.replace("AssertionError:", '<span class="label label-warning p-3">AssertionError:</span>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<span id="results" style="white-space: pre-line">Running test: fasf
.
----------------------------------------------------------------------
Ran 1 test in 0.652s
OK
FAIL:
ERROR:
Running test: test1
.
----------------------------------------------------------------------
Ran 1 test in 15.457s
OK
FAIL:
ERROR:
</span>
答案 0 :(得分:2)
如果要替换所有。
,则必须使用带有'g'标志的正则表达式。看到这个小片段:
const theString = 'foo';
console.log(theString.replace('o', 'i'))
console.log(theString.replace(/o/g, 'i'))
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
答案 1 :(得分:2)
使用带有"OK"
标记的正则表达式/OK/g
到global
。
//highlight words in the results
$("#results").html(function() {
return $(this).html()
.replace(/OK/g, '<span class="label label-success p-3">OK</span>')
.replace(/ERROR/g, '<span class="label label-danger p-3">ERROR:</span>')
.replace(/FAIL/g, '<span class="label label-warning p-3">FAIL:</span>')
.replace(/AssertionError/g, '<span class="label label-warning p-3">AssertionError:</span>');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<span id="results" style="white-space: pre-line">Running test: fasf
.
----------------------------------------------------------------------
Ran 1 test in 0.652s
OK
FAIL:
ERROR:
Running test: test1
.
----------------------------------------------------------------------
Ran 1 test in 15.457s
OK
FAIL:
ERROR:
</span>
&#13;