Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Взять все атрибуты элемента (https://javascript.ru/forum/jquery/17882-vzyat-vse-atributy-ehlementa.html)

tadjik1 07.06.2011 12:46

Взять все атрибуты элемента
 
Добрый день. Возникают затруднения с получением и прочтением всех атрибутов элемента. Иерархия такая:

<div>
<h3 class="choose-dep" data-dep="1">1</h3>
<h3 class="choose-dep" data-dep="2">2</h3>
...
...
</div>

h3 это кнопка, на ней висит обработчик, каким образом можно прочесть оба атрибута при нажатии? у меня получилось что-то вроде этого:

$("h3.choose-dep").click(function(){
		$(this).toggleClass("active");
		console.info( $(this).parents("div").find("*.active").each(function(){ this.attr("data-dep")}));
    });


в итоге второй селектор не срабатывает вовсе

Serg_pnz 07.06.2011 16:09

А чего добиваетесь? Самопального "Аккордиона"?

walik 07.06.2011 16:42

может попробовать:
$(this).attr('data-dep')

tadjik1 07.06.2011 17:39

Serg_pnz,
дело в том, что это переключатели, необходимые для настройки интерфейса. т.е. заходит пользователь, выбирает один или несколько элементов, на основе того, что он выбрал отображаются или скрываются другие.
walik,
спасибо)) так заработало.
теперь только новая проблема — мне нужно составить из получившегося массива строку, где элементы буду через пробел и найти все li одного и второго класса.

tadjik1 07.06.2011 18:00

происходить это должно следующим образом:

значение аттрибута h3 = имени класса li. соответственно, мне нужно найти все элементы li со значением класса h3, которую нажали и добавить им класс hidden.


$("h3.choose-dep").click(function(){
		$(this).toggleClass("active");
		$("h3.active").each(function() {
						console.info( $(this).attr("data-dep"));
						});
	    });


никак не соображу, что сюда дописать

tadjik1 28.06.2011 11:01

закройте, пожалуйста, тему. проблема не актуальна


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