Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   области видимости элементов (https://javascript.ru/forum/jquery/14328-oblasti-vidimosti-ehlementov.html)

zaytsewa 11.01.2011 16:03

области видимости элементов
 
Всем привет!
запуталась с областями видимости

задаю обработчик например кнопки

$('#OK').bind
(
{
click: function()
{
}
}
);

и внутри этого обработчика могу обращаться только к элементам, которые по иерархии находятся ниже, чем эта кнопка

вопрос: а как обращаться к элементам, которые выше по иерархии?

Skipp 11.01.2011 16:09

Цитата:

вопрос: а как обращаться к элементам, которые выше по иерархии?
На вы обращайтесь, а лучше Ваше Величество.

А если серьёзно, то совсем непонятен вопрос!
Какая ещё иерархия, куда ниже? Вы про DOM или область видимости или вообще про что?

zaytsewa 11.01.2011 16:11

про DOM

Skipp 11.01.2011 16:13

значит вы что-то делаете не правильно, приведите пример обращения к DOM которая у вас выдаёт ошибку или т.п.

zaytsewa 11.01.2011 16:18

<div>
<img id='fullimg' width='250px' src='{$img_addr[$i]}'>
</div>
<div id='mini'>
<img class='mini' id='mini1' height='20px' src='{$img_addr[$i+1]}'>
<img class='mini' id='mini2' height='20px' src='{$img_addr[$i+2]}'>
<img class='mini' id='mini3' height='20px' src='{$img_addr[$i+3]}'>
</div>

dojo.addOnLoad(function(){
	$('img#fullimg').bind
	(
		{
			click: function()
			{
				alert(this.src) // тут всё ок
			}
		}
	);
	
	$('.mini').bind
	(
		{
			click: function()
			{
				alert($('img#fullimg').innerHTML) // тут undifined
                        }
               }
});

Nightmare 11.01.2011 16:28

Не используйте bind() ! Вместо него - live()
$('.mini').live('click', function() {
   alert($('#fullimg').html())// но для картинки это не подкатит ибо это элемент, и он не содержит никакого ХТМЛь, юзайте так: alert($('#fullimg').attr('id')) - выдаст fullimg
})

Skipp 11.01.2011 16:29

уберите вот это $('img#fullimg') это ужас и больше так не делайте

мда и вправду какой ещё innerHTML

Skipp 11.01.2011 16:31

Nightmare,
А почему bind не использовать а использовать live?

Nightmare 11.01.2011 16:34

rtfm

zaytsewa 11.01.2011 16:39

Цитата:

Сообщение от Skipp
$('img#fullimg') это ужас и больше так не делайте

не поняла в чём ужас-то??


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