Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Группировка классов через точку (https://javascript.ru/forum/misc/31497-gruppirovka-klassov-cherez-tochku.html)

coventgarden 10.09.2012 11:06

Группировка классов через точку
 
Привет.

Мне нужно удалить из списка элементы с определенным набором классов.

var Vars = '.var1.var2.var3';
$(Vars).hide();

Подскажите пожалуйста, как, например, при нажатии на <a class="var1 var2 car3">Кнопка</a> группировать классы <a> через точку для записи в переменную


Как добавить в переменную классы не одной, а двух <a>?
Например: <a class="var1"></a> и <a class="var2 var3"></a>

Спасибо!

// Нагляднее:

Как из
<a class="var1"></a>
<a class="var2 var3"></a>

Получить в переменную Vars результат:
.var1.var2.var3

--------------------
п.с. При редактировании поста почему-то повторилась тема.

-majestic- 10.09.2012 13:25

Если правильно понял задачу, то можно так:
$("a").each(function() {
	var linkClass = $(this).attr('class');
});

coventgarden 10.09.2012 14:10

То есть теперь в linkClass лежат class1 class2 class3, правильно?

Но как вывести из linkClass данные так, чтобы в итоге получилась строка:
.class1.class2.class3

-majestic- 10.09.2012 14:41

В цикле к строке будет прибавляться каждый класс:
var linkClass = "";	
	$("a").each(function() {
		linkClass += "." + $(this).attr("class");
	}
alert(linkClass);

Если классов два (var2 var3) получится пробел. Тогда просто делаем замену пробелов на точки стандартной функцией replace или регуляркой.

coventgarden 10.09.2012 14:55

Спасибо!

bes 10.09.2012 15:20

из массива можно так
var mas = ['class1', 'class2', 'class3'];
alert('.' + mas.join('.'));


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