问题描述
我的查询列表 行已经定义了 奇偶 行显示不通颜色,现在想在这个基础上再加个功能,就是,当鼠标置 某行上,该行高亮显示,移开不高亮,该高亮色 区别与奇偶行颜色。我加了个js方法,js能判断出事件了,但是颜色加不上去,该如何解决啊?<tr class="<%=i++ % 2 == 0 ? "list_content" : "list_black"%>" onmouseover="changeBgcolor(this,1)" onmouseout="changeBgcolor(this,2)">。。。</tr>js方法如下:/** 鼠标移到行上,此行背景变为粉红,鼠标移开,背景颜色消失 */ function changeBgcolor(tr,num){ if(num==1){ tr.bgColor = "pink"; }else if(num == 2){ tr.bgColor = ""; } } 问题补充:redstarofsleep 写道
解决方案
引用这样是可以了,不过有个问题,鼠标高亮的不是行,变成单元格了。能不能实现行高亮呀? td继承了tr上绑定的事件所致!!!那你给每个tr加个id把,然后把id直接传过去<tr id="tr<%=i%>" class="<%=i++ % 2 == 0 ? "list_content" : "list_black"%>" onmouseover="changeBgcolor('tr<%=i%>',1)" onmouseout="changeBgcolor('tr<%=i%>',2)"> function changeBgcolor(trid,num){ var target = document.getElememtById('trid'); target.style.background = 'pink'; }
解决方案二:
引用也可以定义一组css样式tr:hover{background:pink;} tr的hover不支持IE的
解决方案三:
写错了,是这样的function changeBgcolor(evt,num){ evt = evt || window.event; var target = evt.target || evt.srcElement; target.style.background = 'pink'; }
解决方案四:
function changeBgcolor(evt,num){ evt = evt || window.event; var target = evt.target || evt.srcElement; tr.style.background = 'pink';<tr class="<%=i++ % 2 == 0 ? "list_content" : "list_black"%>" onmouseover="changeBgcolor(event,1)" onmouseout="changeBgcolor(event,2)">
解决方案五:
tr.style.background = 'pink';也可以定义一组css样式 tr:hover{background:pink;}
解决方案六:
引用tr.bgColor = "pink"; 改为tr.style.background = 'pink';