我需要能够在TR上执行以下操作:
以下是一些代码,我用它来点击选择哪些有效,但我需要更改它以便它可以打开/关闭行高亮显示
<script type="text/javascript">
var preEl;
var orgBColor;
var orgTColor;
function highlighttr(el, backColor, textColor) {
if (typeof (preEl) != 'undefined') {
preEl.bgColor = orgBColor;
try { ChangeTextColor(preEl, orgTColor); } catch (e) { ; }
}
orgBColor = el.bgColor;
orgTColor = el.style.color;
el.bgColor = backColor;
try { ChangeTextColor(el, textColor); } catch (e) { ; }
preEl = el;
}
function ChangeTextColor(a_obj, a_color) {
;
for (i = 0; i < a_obj.cells.length; i++)
a_obj.cells(i).style.color = a_color;
}
</script>
答案 0 :(得分:2)
将:hover
添加到tr
个样式
点击该行突出显示该行另一种颜色(如果再次点击同一行,则会突出显示该行 - 将其设置为原始行 BGCOLOR)
$('tr').click( function () {
if($(this).hasClass("clicked"))
{
$(this).removeClass("clicked");
}else{
$(this).addClass("clicked");
}
});
并为其添加样式。
您可以将:nth-child(2n)
添加到您的样式中以便一起使用。
示例强>
答案 1 :(得分:1)
这是一种传统的方式,顺便说一下是跨浏览器(和平台)。
CSS
.tr {background-color:#fff}
.trOver {background-color:#ddd}
.trClicked {background-color:#bbb}
JS
function over(o)
{
if ('trClicked' != o.className) o.className = 'trOver';
}
function out(o)
{
if ('trClicked' != o.className) o.className = 'tr';
}
function clicked(o)
{
o.className = ('trClicked' == o.className) ? 'tr' : 'trClicked';
}
HTML
<tr class="tr" onmouseover="over(this)" onmouseout="out(this)" onclick="clicked(this)">
// tds without defined background color...
</tr>