Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Обращение к объекту через ссылку (https://javascript.ru/forum/jquery/20499-obrashhenie-k-obektu-cherez-ssylku.html)

boro-da 08.08.2011 14:47

Обращение к объекту через ссылку
 
Добрый день! Только начал осваиваться в jQuery и мне нужно обратиться к объекту через ссылку.

Раньше делал так:

<a href="#" onClick="h_block_open('Div23'); return false;">Открыть 23</a>
<div id="Div23" style="display:none">Скрыто</div>

function h_block_open(obj1) 	// Открыть скрытый блок
{ 
	x=document.getElementById(obj1);  
	
	if(x.style.display == "none") 
	{
		x.style.display = "block"; 
	}
	else 
	{
		x.style.display = "none"; 
	}
}


Решил перейти на jQuery

А с jQuery не работает, в документации нашел только обращение через #id или .class

Как в jQuery передать объект, id которого передаётся через ссылку

function visibleOpen(elem1)
{
	
	if($(elem1).is(":hidden"))
	{
		$(elem1).slideDown('normal');
	}
	else
	{
		$(elem1').hide('normal');
	}
}

SkyLight 08.08.2011 15:22

У вас в elem1, судя по всему, все тот же идентификатор. Но, как вы сами написали выше, в jQuery идет поиск по селекторам, как в css, т.е. к вашему передаваемому идентификатору нужно добавить решетку.

boro-da 08.08.2011 15:36

function visibleOpen(#elem1)
{
	
	if($(#elem1).is(":hidden"))
	{
		$(#elem1).slideDown('normal');
	}
	else
	{
		$(#elem1).hide('normal');
	}
}


Подозреваю что не так...

Пожалуйста приведите пример обращения к объекту через id передаваемого через ссылку...

через ссылку я обращаюсь к функции с параметром "ID нужного",

visibleOpen('Div23')

Как обратиться к элементу Div23 в функции не задавая жёстко в обращении Div23

function visibleOpen(#elem1)
{
	
	if($('#Div23').is(":hidden"))
	{
		$('#Div23').slideDown('normal');
	}
	else
	{
		$('#Div23').hide('normal');
	}
}


Отлично работает, но я не хотел бы для каждого Div писать функцию :))))

Как обратиться к объекту ID которого пришёл в параметрах функции?

walik 08.08.2011 15:42

Блин, кавычки добавь емае:
$('#'+elem1)

boro-da 08.08.2011 15:48

СПАСИБО!!!

Я не знал что так можно :(

:dance:


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