Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.09.2012, 11:06
Интересующийся
Отправить личное сообщение для coventgarden Посмотреть профиль Найти все сообщения от coventgarden
 
Регистрация: 10.09.2012
Сообщений: 12

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

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

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

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

Последний раз редактировалось coventgarden, 10.09.2012 в 14:13.
Ответить с цитированием
  #2 (permalink)  
Старый 10.09.2012, 13:25
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

Если правильно понял задачу, то можно так:
$("a").each(function() {
	var linkClass = $(this).attr('class');
});
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2012, 14:10
Интересующийся
Отправить личное сообщение для coventgarden Посмотреть профиль Найти все сообщения от coventgarden
 
Регистрация: 10.09.2012
Сообщений: 12

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

Но как вывести из linkClass данные так, чтобы в итоге получилась строка:
.class1.class2.class3
Ответить с цитированием
  #4 (permalink)  
Старый 10.09.2012, 14:41
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

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

Если классов два (var2 var3) получится пробел. Тогда просто делаем замену пробелов на точки стандартной функцией replace или регуляркой.
Ответить с цитированием
  #5 (permalink)  
Старый 10.09.2012, 14:55
Интересующийся
Отправить личное сообщение для coventgarden Посмотреть профиль Найти все сообщения от coventgarden
 
Регистрация: 10.09.2012
Сообщений: 12

Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 10.09.2012, 15:20
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Асинхронная отправка файла через jQuery InviS jQuery 3 23.04.2013 22:27
Группировка классов через точку coventgarden Общие вопросы Javascript 0 10.09.2012 11:03
Эмулировать список через селект Nanto Элементы интерфейса 2 06.03.2012 11:54
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
XMLHTTPRequest передача имя через POST dds AJAX и COMET 0 14.08.2008 14:44