asp mvc在单击时更改表中的行颜色,一次一个

时间:2009-07-24 14:54:59

标签: jquery asp.net html-table

我在ASP MVC中创建了一个表,并用数据库中的数据填充它。我使用以下代码交替行颜色:

<% if (count % 2 == 0) { %>
    <tr class="offeven" onclick="this.className='onclick'" onmouseover="this.className='on'" onmouseout="this.className='offeven'">
<% } %>
<% else { %>
    <tr class="offodd" onclick="this.className='onclick'" onmouseover="this.className='on'" onmouseout="this.className='offodd'">
<%  } count++; %>

每个班级都有不同的背景颜色。所以我想要的是这件事发生。当用户进入页面时,他们将看到具有交替行颜色的表格,当鼠标悬停在每一行上时,该行会改变颜色。当他们选择一行时,即使鼠标超出行的范围(因此onmouseout不起作用),该行也会更改为不同的颜色并保持不变。现在我为我的旧网站编写了一个非常Javascript函数,它使用了gridviews,我不认为它们会在这种情况下工作(至少没有一些修改)。我将如何通过Javascript访问表的行并执行我需要完成的操作?

编辑:我添加了:hover进入CSS并且有效(在FF中,而不是在IE6中),因为在鼠标离开该行的范围后,单击的行不会丢失其背景颜色。但最后一个障碍是,当点击一个新行时,我需要将任何行更改为其原始背景颜色,因为此时每行都会突出显示,但不会突出显示。

1 个答案:

答案 0 :(得分:2)

您可以使用一些jquery

来完成
$(”table tr:even”).addClass(”offeven″);

添加一些CSS减速而不是使用onmouseover

.offeven:hover, .offodd:hover

这篇文章中提到了更好的跨浏览器解决方案:

jQuery Alternating Gray Rows in a Table, and Highlight Table Row Mouseover Example