Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   не работает обращение к элементу по id (https://javascript.ru/forum/events/21581-ne-rabotaet-obrashhenie-k-ehlementu-po-id.html)

yashka525 16.09.2011 01:31

Телепаты в отпуске, дайте скрипт вместе с элементами к которым Вы обращаетесь.

yashka525 16.09.2011 01:33

А что у Вас везде стоит if(){}? Забыли про else if(){}?

grafe 16.09.2011 01:55

Цитата:

Сообщение от yashka525 (Сообщение 126695)
А что у Вас везде стоит if(){}? Забыли про else if(){}?

какая разница) сути не меняет.
не знаю, полезно будет, или нет, вот линк и скрипт. дальше в фаербаге всё)

http://dogss-country.ru/index.php?sh...ry#a_selfeject
http://dogss-country.ru/js/delivery.js

grafe 16.09.2011 01:56

когда выполняю через консоль podcut('cut4');
тоже соответственно работает как и при онклике

yashka525 16.09.2011 02:01

function podcut(id)
	{
	alert(id);
	var curd=document.getElementById(id);
	//alert('it works!'+curd.style.height);
	if(curd.style.height!*!*==*/!*'auto')
		{
		curd.style.height='auto';
		}
	else
		{
		curd.style.height='47px';
		}
	}

Нужно две равно ставить.

grafe 16.09.2011 02:05

не знал) всегда ставил != срабатывало так же как и !==
ну не суть, проблемы это не решает curd у нас определяется выше

yashka525 16.09.2011 02:10

И вообще, сделайте display = block/none, зачем height менять?

grafe 16.09.2011 02:12

госспади, да какая разница, проблема-то не в этом

yashka525 16.09.2011 02:58

Окей, по ссылке на сайт видно что скрипт стоит выше элементов. Поставте его после всех элементов, к которым он обращается.

Riim 16.09.2011 03:07

http://javascript.ru/tutorial/events/intro

Цитата:


Частая ошибка новичков
Обратите внимание - свойству присваивается именно сама функция-обработчик doSomething, а не doSomething():

document.getElementById('button').onclick = doSomething
doSomething() - это результат запуска функции, а так как вызова return в ее коде нет, то этот результат будет undefined.

Сравните это с атрибутом. Там - наоборот, скобки нужны:

<input type="button" id="mybutton" onclick="doSomething()"/>
Это различие легко объяснить. Дело в том, что при назначении onclick в HTML браузер автоматически создает функцию-обработчик из содержимого кавычек. Получается, что последний пример - это по сути то же самое, что:

document.getElementById('mybutton').onclick = function() {
doSomething() // внутри автосозданной функции
}

нужно вместо window.onload = podcut('cut4'); писать window.onload = function() { podcut('cut4'); };


Часовой пояс GMT +3, время: 14:27.