<SCRIPT LANGUAGE="JScript"> function fnGrab()
{
var oEl = event.srcElement;                        //触发事件的元素
var bCollapsed if( oEl.className.indexOf( "clsPartRight" ) != -1 ) //如果该元素没有className
{
var oTableRow2  = oEl.parentElement.parentElement.parentElement.rows[1];
//该元素的父元素的父元素的父元素的行---:)
var bCollapsed = ( (oTableRow2.style.display == "none") ? true : false);
//判断是否显示
fnShowHideContent(oEl,bCollapsed); //调用函数,  
}
} function fnShowHideContent(oEl,bCollapsed)
{
var oPart             = fnGetPart( oEl );  //调用函数
var oContent          = oPart.rows[1];     //获得此行 var oTab1       = oPart.cells[0];        //获取此行的单元格
var oTab2       = oPart.cells[1];
var oTab3       = oPart.cells[2];
var oSwapImg   = oTab1.children[0];    //获取单元格的第一个元素
//下面设置样式
if ( bCollapsed )
{
oContent.style.display = "inline"; var regExpGray = /gripGray.gif/gi; oTab1.style.backgroundColor="#6699cc";
oTab1.style.borderBottom='1px solid #6699cc';
oTab2.style.backgroundColor="#6699cc";
oTab2.style.borderTop='1px solid #6699cc';
oTab2.style.borderBottom='1px solid #6699cc';
oTab2.parentElement.cells[1].children[0].style.backgroundColor= "#6699cc";
//设置父元素单元格的第一个元素的背景颜色
oTab2.parentElement.cells[1].children[0].style.color = "#ffffff"
oTab3.style.backgroundColor="#6699cc";
oTab3.style.borderBottom='1px solid #6699cc';
oTab3.className = "clsPartRight";
oSwapImg.src = oSwapImg.src.replace(regExpGray, "") + "gripBlue.gif";  //去掉空格
oPart.state = "open";           //设置元素的状态,具体是什么状态要看是什么元素了:)
}
else
{
oContent.style.display = "none"; var regExpBlue = /gripBlue.gif/gi; oTab1.style.backgroundColor="#cccccc";
oTab1.style.borderBottom='1px solid #aaaaaa'; oTab2.style.backgroundColor="#cccccc";
oTab2.style.borderTop='1px solid #aaaaaa';
oTab2.style.borderBottom='1px solid #aaaaaa';
oTab2.parentElement.cells[1].children[0].style.backgroundColor= "#cccccc";
oTab2.parentElement.cells[1].children[0].style.color = "#003399" oTab3.style.backgroundColor="#cccccc";
oTab3.style.borderBottom='1px solid #aaaaaa';
oTab3.className = "clsPartRightHidden"; oSwapImg.src = oSwapImg.src.replace(regExpBlue, "") + "gripGray.gif";
oPart.state = "close";
}
}

function fnGetPart( oEl )
{
while( null != oEl && oEl.className != "clsPart" )  //如果不为空且className不等于clsPart
{
oEl = oEl.parentElement;                        //直到className的值等于clsPart时跳出循环,并返回此元素值
}
return oEl;
} </SCRIPT>整个程序功能是通过判断设置样式
解释有误,还请大家指教啊!