Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.12.2011, 14:02
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от B@rmaley.e><e
Потому что на момент срабатывания Вашей функции их нет в DOM дереве документа.
так. но почему тогда функция срабатывает на условие if ?!
Ответить с цитированием
  #12 (permalink)  
Старый 26.12.2011, 14:03
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Каком условии?
Ответить с цитированием
  #13 (permalink)  
Старый 26.12.2011, 14:09
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от stos Посмотреть сообщение
function show_products_marka(nid,nidmarka,m)
         {           
             for (i = 0; i < m; i++)
             {               
                 nbody = 'tbody_' + nid + '_' + i;               
                 if (i == nidmarka)
                 {
                     document.getElementById(nbody).style.backgroundColor = "#FFC4C4";
                 }
                 else
                 {                   
                     document.getElementById(nbody).style.backgroundColor = "#ffffff";
                 }
             }
         }
вот здесь.
Ответить с цитированием
  #14 (permalink)  
Старый 26.12.2011, 14:11
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Если бы ошибка выдавалась на if и на else, тогда - да, надо думать и искать. Но ведь на if - срабатывает и всё видит, и всё понимает, и всё правильно делает.
Ответить с цитированием
  #15 (permalink)  
Старый 26.12.2011, 14:13
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Похоже, нужен весь код. По этому фрагменту непонятно, что не так. Можно только гадать. Например: невыбранный элемент не имеет идентификатора или он присвоен неверно.
Ответить с цитированием
  #16 (permalink)  
Старый 26.12.2011, 14:21
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от GuardCat
Например: невыбранный элемент не имеет идентификатора или он присвоен неверно.
все идентификаторы присваиваются в цикле. И потому как на условие if функция срабатывает можно догадаться, что с идентификаторами и их присвоением всё нормально. В очередной раз посмотрел код уже сформированной страницы. Все идентификаторы впорядке.
<tbody style="background: #008000;" id='tbody_01_1'>
<tbody style="background: #008000;" id='tbody_01_2'>
<tbody style="background: #008000;" id='tbody_11_3'>
...
<tbody style="background: #008000;" id='tbody_36_68'>

вот код, который присваивает идентификаторы:
for ($marka = 0; $marka < $m; $marka++)
				{
					if ($cat2_tmp[$marka]["razdel"] == $cat1_tmp[$i]["id"] && $cat2_tmp[$marka]["q"] != 0)
					{
						echo "<tbody style=\"background: #008000;\" id='tbody_".$cat2_tmp[$marka]["razdel"]."_".$cat2_tmp[$marka]["idmarka"]."'>\n";
						for ($j = 0; $j < $ind; $j++)
						{
							if ($catalog[$j]["marka"] == $cat2_tmp[$marka]["name"])
							{
								if ($catalog[$j]["id"] != '')
								{
								    if ($catalog[$j]["id_razdel"] == $cat1_tmp[$i]["id"])
									{										
										echo "<tr>\n"; 
										 echo "<td align='center'>" . $catalog[$j]["id"] . "</td>";
										 echo "<td>" . $catalog[$j]["name"] . "</td>";
										 echo "<td align='center'>" . $catalog[$j]["firstprice"] . "</td>";
										 echo "<td align='center'>" . $catalog[$j]["ostatok"] . "</td>";
										 if ($cid == 4)
										 {
										 	echo "<td align='center'>" . $catalog[$j]["price6"] . "</td>";
										 }			
										 if ($cid == 3)
										 {
										 	echo "<td align='center'>" . $catalog[$j]["price5"] . "</td>";
										 }
										 if ($cid == 2)
										 {
										 	echo "<td align='center'>" . $catalog[$j]["price4"] . "</td>";
										 }
										 if ($cid == 1)
										 {
										 	echo "<td align='center'>" . $catalog[$j]["price3"] . "</td>";
										 }
										 if ($cid == 0)
										 {
										 	echo "<td align='center'>" . $catalog[$j]["price2"] . "</td>";
										 }
										 echo "<td align='center'>" . $catalog[$j]["garanty"] . "</td>\n";
							        	echo "</tr>\n";					
									}
								}
							}
						}
						echo "</tbody>\n";
					}
				}
Ответить с цитированием
  #17 (permalink)  
Старый 26.12.2011, 14:33
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от stos
Но ведь на if - срабатывает и всё видит, и всё понимает, и всё правильно делает.
Что? Как из того, что для какого-то i условие выполняется, следует, что для другого i будет существовать элемент с id=nbody?
Ответить с цитированием
  #18 (permalink)  
Старый 26.12.2011, 14:36
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

твою мать.
дело в кавычках.

жээээээсть. прость жэсть.
Ответить с цитированием
  #19 (permalink)  
Старый 26.12.2011, 14:38
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от B@rmaley.e><e
Как из того, что для какого-то i условие выполняется, следует, что для другого i будет существовать элемент с id=nbody?
ммм... ну какбе элементарно. карандаш, бумага.
выписываем все ИД, и расписываем весь цикл на бумаге и проверяем пошагово.
ну и, само собой, исходный код сформированной страницы смотрим.
Ответить с цитированием
  #20 (permalink)  
Старый 26.12.2011, 14:39
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

echo "<tbody style=\"background: #008000;\" id='tbody_".$cat2_tmp[$marka]["razdel"]."_".$cat2_tmp[$marka]["idmarka"]."'>\n";

заменил на
echo "<tbody style=\"background: #008000;\" id=\"tbody_".$cat2_tmp[$marka]["razdel"]."_".$cat2_tmp[$marka]["idmarka"]."\">\n";


и всё работает..

всем спасибо...за то что не остались равнодушными...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод на новую строку JS воспринимает как объект DOM Rig Events/DOM/Window 6 26.12.2011 20:08
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Игра на JS. Косяк с массивом treno1 Общие вопросы Javascript 0 08.06.2011 17:13
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23