0

我有一个 asp.net gridview,它呈现以下表结构:

<table>
<tr><th>Header 1</th><th>Header 2</th><th>Header 3</th></tr>
<tr><td>cell1</td><td>cell2</td><td>cell3</td></tr>
</table>

我正在使用以下 jQuery 语句来突出显示每个非标题行的整行。

$("table tr:has(td)").css({ background: "ffffff" }).hover(
  function () { $(this).css({ background: "#FC6" }); },
  function () { $(this).css({ background: "#ffffff" }); }
);

我将如何更改此代码以突出显示每个非标题行而不是该行的第三个(最后一个)单元格?例如同时突出显示该行的前两个单元格,而不是第三个单元格。

如果有人对选择器逻辑有一个不错的网络参考,那也将不胜感激。

4

2 回答 2

1

您可以使用:not() 选择器:last-child() 选择器来完成此操作,如下所示:

$("tr:has(td)").hover(function() {
    $(this).find("td:not(:last-child)").css("background-color", "#FC6");
}, function() {
    $(this).find("td").css("background-color", "#FFF");
});​

这将带来额外的好处,即不被绑定到三列。这是一个证明这一点的小提琴。

于 2012-10-05T05:27:07.263 回答
0

请参考此链接小提琴,如果我不习惯请让我..

<table>
<tr><th>Header 1</th><th>Header 2</th><th>Header 3</th></tr>
<tr><td class="c1">cell1</td><td class="c2">cell2</td><td>cell3</td></tr>
<tr><td class="c1">cell1</td><td class="c2">cell2</td><td>cell3</td></tr>
</table>

$(".c1").closest('td').css('background-color', 'red');
$(".c2").closest('td').css('background-color', 'red');
于 2012-10-05T04:13:16.977 回答