我有一个asp.net数据网格,其HTML在浏览器中呈现如下。
<div id="divViewAlldealers" class="">
<table id="ctl00_cph1_ucMS_grdAllDealers" cellspacing="0" border="1" style="border-collapse:collapse;" rules="all">
<tbody>
<tr>
<td style="background-color: rgb(232, 246, 211);">25 - Vickar Community Chevrolet Ltd</td>
</tr>
<tr>
<td>0 - Jim Gauthier Chevrolet Ltd.</td>
</tr>
<tr>
<td>0 - Murray Chevrolet Ltd.</td>
</tr>
<tr>
<td>0 - Birchwood Chevrolet Buick GMC Ltd.</td>
</tr>
</tbody>
现在我的目标是我必须为拥有当前客户的td提供差异背景颜色。
我知道谁是当前的客户,但我怎样才能从网格中找到客户?
假设说 - Murray Chevrolet Ltd.注意:该列表是动态的,当前客户可以进入任何地方而不仅仅是第二个td。
我知道我们可以通过使用jQuery each()
来实现它。是否可以在不使用each()
函数的情况下在jQuery中修复它?
答案 0 :(得分:1)
看到这个小提琴。如果您当前的用户是Murray,您可以过滤所有包含'Murray'作为文本的TD并应用背景颜色
$("tr td:contains('Murray')").each(function(){
$(this).css("background-color"," rgb(232, 246, 211)");
});
<强>更新强>
$("tr td").filter(function(){
return $(this).text() === 'San Sarif';
}).css("background-color"," rgb(232, 246, 211)");
答案 1 :(得分:1)
最好将 td 添加一个数据属性,将其显示为当前客户。 而不是使用你的jQuery选择器来改变背景颜色。
<table id="ctl00_cph1_ucMS_grdAllDealers" cellspacing="0" border="1" style="border- collapse:collapse;" rules="all">
<tbody>
<tr>
<td data-currrentCustomer="true">25 - Vickar Community Chevrolet Ltd</td>
</tr>
<tr>
<td>0 - Jim Gauthier Chevrolet Ltd.</td>
</tr>
<tr>
<td>0 - Murray Chevrolet Ltd.</td>
</tr>
<tr>
<td>0 - Birchwood Chevrolet Buick GMC Ltd.</td>
</tr>
</tbody>
</table>
<强>的jQuery 强>
$(document).ready(function(){
$("td[data-currrentCustomer='true']").css({"background-color":"rgb(232, 246,211)"});
});
您可以查看我的Fiddle
答案 2 :(得分:0)
如果您拥有当前的客户名称,则可以使用以下代码行。
var custName ="Vickar";
$( "td:contains('"+ custName +"')" ).css( "color", "#FF0000" );