Некоторое время не было возможности дописать скрипт, но чтобы закрыть вопрос полностью покажу финальный код:
<Script language="JavaScript" type="text/javascript">
function getElementsByClass(searchClass,node,tag)
{
var classElements = new Array();
if (node == null)
node = document;
if (tag == null)
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length - 1;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++)
if (pattern.test(els[i].className))
{
classElements[j] = els[i];
j++;
}
return classElements;
}
function OpenClose(CName)
{
var Elements = getElementsByClass(CName, document, "tr");
var ElementsLength = Elements.length - 1;
for (i = 0; i < ElementsLength; i++)
if (Elements[i].display == "")
{
Elements[i].display = "none";
}
else
{
Elements[i].display = "";
}
}
</Script>
<table border='1' width='100%'>
<tr bgcolor='red'>
<td width='33%'>111</td>
<td width='34%'>222</td>
<td width='33%'>333</td>
</tr>
<tr>
<td colspan='3' class="SpoilerTop1" onClick="OpenClose('SpoilerBox1');">123</td>
</tr>
<tr class="SpoilerBox1" style="display:none">
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<tr class="SpoilerBox1" style="display:none">
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<tr>
<td colspan='3' class="SpoilerTop2" onClick="OpenClose('SpoilerBox2');">123</td>
</tr>
<tr class="SpoilerBox2" style="display:none">
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<tr class="SpoilerBox2" style="display:none">
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<table>
Однако, все бы хорошо, если бы не одно НО...
Скрипт не работает. У меня есть подозрение, что проблема в части:
if (Elements[i].display == "")
{
Elements[i].display = "none";
}
else
{
Elements[i].display = "";
}
Подскажите, пожалуйста, где я накосячил?