<HTML>
<head>
<script language="javascript">
function showDetail(oSpan)
{
var iIndex = oSpan.parentNode.parentNode.rowIndex;
var oTbody = oSpan.parentNode.parentNode.parentNode;
if (oSpan.innerText == "+")
{
oTbody.rows[iIndex + 1].style.display = "";
oTbody.rows[iIndex + 2].style.display = "";
oTbody.rows[iIndex + 3].style.display = "";
oSpan.innerText = "-";
}
else
{
oTbody.rows[iIndex + 1].style.display = "none";
oTbody.rows[iIndex + 2].style.display = "none";
oTbody.rows[iIndex + 3].style.display = "none";
oSpan.innerText = "+";
}
}
</script>
</head>
<body>
<TABLE border=1>
<TBODY>
<TR id=1>
<TD rowSpan=20> </TD>
<TD rowSpan=20></TD>
<TD rowSpan=20>AAAAA</TD>
<TD>1 VS 2<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=2 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=3 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=4 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=5>
<TD>1 VS 2<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=6 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=7 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=8 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=9>
<TD>1 VS 3<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=10 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=11 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=12 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=13>
<TD>1 VS 4<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=14 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=15 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=16 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=17>
<TD>1 VS 5<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=18 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=19 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=20 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
</TBODY>
</TABLE>
</body>
</HTML>以上代码,当点击<span>中的+号时,会展开或收缩几行...这是通过控制display来实现的。
不过,现在有个问题 第一行中有rowSpan=20,当操作最后一行的display = none时,rowSpan就会失效...
求解决方法...
<head>
<script language="javascript">
function showDetail(oSpan)
{
var iIndex = oSpan.parentNode.parentNode.rowIndex;
var oTbody = oSpan.parentNode.parentNode.parentNode;
if (oSpan.innerText == "+")
{
oTbody.rows[iIndex + 1].style.display = "";
oTbody.rows[iIndex + 2].style.display = "";
oTbody.rows[iIndex + 3].style.display = "";
oSpan.innerText = "-";
}
else
{
oTbody.rows[iIndex + 1].style.display = "none";
oTbody.rows[iIndex + 2].style.display = "none";
oTbody.rows[iIndex + 3].style.display = "none";
oSpan.innerText = "+";
}
}
</script>
</head>
<body>
<TABLE border=1>
<TBODY>
<TR id=1>
<TD rowSpan=21> </TD>
<TD rowSpan=21></TD>
<TD rowSpan=21>AAAAA</TD>
<TD>1 VS 2<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=2 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=3 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=4 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=5>
<TD>1 VS 2<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=6 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=7 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=8 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=9>
<TD>1 VS 3<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=10 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=11 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=12 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=13>
<TD>1 VS 4<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=14 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=15 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=16 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=17>
<TD>1 VS 5<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=18 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=19 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=20 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=21 style="DISPLAY: none" height=0>
<TD></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
</TBODY>
</TABLE>
</body>
</HTML>
<TR id=21 style="DISPLAY: none" height=0>
<TD></TD>
<TD>/</TD>
<TD>/</TD>
</TR>这个改成~ <TR id=21 height=0>
</TR>这样就可以了吧...
谢谢了~
<head>
<script language="javascript">
function showDetail(oSpan)
{
var iIndex = oSpan.parentNode.parentNode.rowIndex;
var oTbody = oSpan.parentNode.parentNode.parentNode;
if (oSpan.innerText == "+")
{
oTbody.rows[iIndex + 1].style.display = "";
oTbody.rows[iIndex + 2].style.display = "";
oTbody.rows[iIndex + 3].style.display = "";
oSpan.innerText = "-";
}
else
{
oTbody.rows[iIndex + 1].style.display = "none";
oTbody.rows[iIndex + 2].style.display = "none";
oTbody.rows[iIndex + 3].style.display = "none";
oSpan.innerText = "+";
}
}
</script>
</head>
<body>
<table border=1>
<tr>
<td valign=top>
<table border=1 height=20>
<tr>
<TD> </TD>
<TD></TD>
<TD>AAAAA</TD>
</tr>
</table>
</td>
<td>
<TABLE border=1>
<TBODY>
<TR id=1>
<TD>1 VS 2<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=2 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=3 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=4 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=5>
<TD>1 VS 2<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=6 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=7 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=8 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=9>
<TD>1 VS 3<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=10 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=11 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=12 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=13>
<TD>1 VS 4<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=14 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=15 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=16 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=17>
<TD>1 VS 5<SPAN style="cursor:hand;" onclick="showDetail(this)">+</SPAN></TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=18 style="DISPLAY: none">
<TD> a</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=19 style="DISPLAY: none">
<TD> b</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
<TR id=20 style="DISPLAY: none">
<TD> c</TD>
<TD>/</TD>
<TD>/</TD>
</TR>
</TBODY>
</TABLE>
</td>
</tr>
</table></body>
</HTML>这样行不行