0

我有一个 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 中修复它?

4

3 回答 3

1

看到这个小提琴。如果您当前的用户是 Murray,您可以过滤所有包含“Murray”作为文本的 TD 并应用背景颜色

$("tr td:contains('Murray')").each(function(){
  $(this).css("background-color"," rgb(232, 246, 211)");
});

http://jsfiddle.net/KSxLy/

更新

$("tr td").filter(function(){
    return $(this).text() === 'San Sarif';
}).css("background-color"," rgb(232, 246, 211)");

JSFIDDLE

于 2013-09-17T08:10:57.440 回答
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)"});
});

你可以检查我的小提琴

于 2013-09-17T08:57:36.907 回答
0

如果您有当前客户名称,则可以使用以下代码行。

var custName ="Vickar";
$( "td:contains('"+ custName +"')" ).css( "color", "#FF0000" );
于 2013-09-17T08:20:54.200 回答