Показать сообщение отдельно
  #7 (permalink)  
Старый 23.04.2009, 20:13
Интересующийся
Отправить личное сообщение для dm1tr1y Посмотреть профиль Найти все сообщения от dm1tr1y
 
Регистрация: 06.12.2008
Сообщений: 14

Некоторое время не было возможности дописать скрипт, но чтобы закрыть вопрос полностью покажу финальный код:
<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 = "";
	}


Подскажите, пожалуйста, где я накосячил?
Ответить с цитированием