2011-03-14 26 views
0

我做了一个表格来显示数据列表。这张表包含合并两行,我真的需要这样看。当我尝试突出显示单行时,棘手的问题就出现了。 事实证明,单一TR高亮显示是否可以通过合并单元格来创建选定的行事件?

single TR is highlighted but the following TR is not

脚本

<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; 
} 

HTML

<tr onClick="HighLightTR(this,'#c9cc99','cc3333');" > 
</tr> 

我怎么能突出整行(第二列具有两排) 感谢您的帮助...^_^

回答

0

第一列和第二列的第二行是不同的行对象。您还需要更改该行的颜色。

换句话说,您的elpreEl应该是多行,而不是每行一行。

您是否考虑过在行中添加/删除类,并在CSS中而不是在JavaScript中进行颜色更改?

+0

云你给我一个简单的例子?所以我可以在它上面工作 – Fon 2011-03-14 07:15:28

+0

问题:你从哪里得到'el'?我想'preEl'只是存储* previous *'el',但是你在哪里得到'el'?哪一排?您确实为每个数据项创建了* 2 *行,只有在最后两列中第二行被隐藏,因此您不会看到它。这并不意味着你只有* 1行,因为你在最后两列中看到了一行。 – 2011-03-14 07:24:23

相关问题