maaaaaaan
@maaaaaaan
верстка

Парсинг цифр из элементов DOM и создание из них классов css?

Изучаю jquery хочу сделать автосоздание классов для tr из размеров указанных в столбце td. Это нужно для последующей сортировки элементов. jsfiddle.net/DA3wF/918
сначала разбор строки и удаление из нее разделителя "x", затем создание для tr классов вида для ширины - w740, для высоты - h70, для длинны - l740
Помогите разобраться как грамотно это сделать?
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
ProjectSoft
@ProjectSoft
Front-end && Back-end разработчик
$('.priceSort-table__item td:nth-child(2)').each(function(){
	var item = $(this),
		parent = item.closest('tr'),
		text = item.text(),
		regex = /(\d+)(?:х|x)?/g,
		match = text.match(regex),
		arr = [];
	while ((m = regex.exec(text)) !== null) {
		arr.push(m[1]);
	}
	item.text(arr.join(" "));
	arr.forEach(function(dig, idx){
		switch(idx){
			case 0:
				parent.addClass('l' + dig);
				break;
			case 1:
				parent.addClass('w' + dig);
				break;
			case 2:
				parent.addClass('h' + dig);
				break;
		}
	});
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ну и замена "х" и создание классов:
$('.priceSort-table__item td:nth-child(2)').each(function(){
    var $me = $(this),
    	val = $me.html()
    	size = val.split('х');
    $me.html(size.join(' '));
    $me.addClass('l' + size[0]);
    $me.addClass('w' + size[1]);
    $me.addClass('h' + size[2]);
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы