这是我的JS文件:
$(document).ready(function () {
$("div:contains('Fail')").each(function () {
$(this).html($(this).html().replace("Fail", "<span class='red'>Fail</span>"));
});
$(".title").html(function(i,v){
return v.replace("Pass","<span class='red'>Pass</span>");
});
});
和HTML:
<div class='title'>
<table border="1" class="dataframe">
....
.....
<td>Pass</td>
<td>0.55</td>
<td>Pass</td>
<td>Pass</td>
</table>
</div>
当我运行这个&#39; red&#39; class仅适用于第一次出现pass和fail。如何将其应用于div
标记中的所有匹配项。
答案 0 :(得分:1)
您需要使用正则表达式替换global match modifier g
:
$(document).ready(function () {
$("div:contains('Fail')").each(function () {
$(this).html($(this).html().replace(/Fail/g, "<span class='red'>Fail</span>"));
});
$(".title").html(function (i, v) {
return v.replace(/Pass/g, "<span class='green'>Pass</span>");
});
});
.red {color: red;}
.green {color: green;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='title'>
<table border="1" class="dataframe">
<td>Pass</td>
<td>0.55</td>
<td>Fail</td>
<td>Pass</td>
</table>
</div>
顺便说一句,使用像green
类这样的“Pass”是有意义的,就像我在上面的演示中所做的那样。