Javascript.RU

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

Сборка CSS кода
Надо пройти по всем тегам input с классом css_editor:
HTML:
<input type="text" class="css_editor" data-ident=".wrap" data-edit="background" value="#fff" />

И составить одну строку:
Код:
Код:
.wrap { background: #fff; }
.element { color: #171717; }
И так далее
.wrap из date-ident
background из data-edit
#fff из value

UPD:

Должно быть так:
Код:
function array_event(item, i, arr){
window.styles = window.styles+"\n"+item.attr('data-ident')+' { '+item.attr('data-edit')+'; }'; // Добавляем данные в глобальную переменную
}
function plain_view(){
$('.edit_style').each(array_event); // Проходим по всем элементам с классом edit_style
}

Вызываем plain_view() и в глобальной переменной styles у нас стили из полей. Но почему то не работает


http://jsfiddle.net/ggxkhmt6/5/

Последний раз редактировалось Q_BASIC, 24.01.2015 в 16:20.
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2015, 15:52
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Q_BASIC
Но почему то не работает
В консоль ошибок пишет:
Цитата:
ReferenceError: $ is not defined
Ты забыл объявить функцию $.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2015, 16:00
Новичок на форуме
Отправить личное сообщение для Q_BASIC Посмотреть профиль Найти все сообщения от Q_BASIC
 
Регистрация: 24.01.2015
Сообщений: 4

$ это jQuery, его то я подключаю. Ошибка

Uncaught TypeError: undefined is not a function (index):29
plain_view (index):29
(anonymous function) (index):31
jQuery.event.dispatch jquery-1.9.1.js:3074
elemData.handle

http://jsfiddle.net/ggxkhmt6/5/

Последний раз редактировалось Q_BASIC, 24.01.2015 в 16:06.
Ответить с цитированием
  #4 (permalink)  
Старый 24.01.2015, 16:15
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Q_BASIC, jQuery не возвращает массив, поэтому метода forEach быть не должно. Используй просто each.
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2015, 16:19
Новичок на форуме
Отправить личное сообщение для Q_BASIC Посмотреть профиль Найти все сообщения от Q_BASIC
 
Регистрация: 24.01.2015
Сообщений: 4

Теперь ошибка на этой строчке:
window.styles = window.styles+"\n"+item.attr('data-ident')+' { '+item.attr('data-edit')+'; }';


Uncaught TypeError: undefined is not a function (index):210
array_event (index):210
m.extend.each jquery.js:2
m.fn.m.each jquery.js:2
plain_view (index):214
onclick
Ответить с цитированием
  #6 (permalink)  
Старый 24.01.2015, 16:24
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function array_event(){
    window.styles += "\n"+ this.dataset.ident + ' { ' + this.dataset.edit + '; }';
}

function plain_view(){
    $('.edit_style').each(array_event);
}
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2015, 16:28
Новичок на форуме
Отправить личное сообщение для Q_BASIC Посмотреть профиль Найти все сообщения от Q_BASIC
 
Регистрация: 24.01.2015
Сообщений: 4

Всё, спасибо.

Сделал:
function plain_view(){
	window.styles = '';
	$('.edit_style').each(function(){
		window.styles = window.styles+"\n"+ $(this).attr('data-ident')+' { '+$(this).attr('data-edit')+': '+$(this).val()+'; }';
	});
	
	alert(window.styles);
}
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2015, 16:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

А почему не?

function plain_view(){
	window.styles = '';
	$('.edit_style').each(function(){
		window.styles += "\n"+ this.dataset.ident + ' { '+ this.dataset.edit + ': ' + this.value + ';}';
	});
	
	alert(window.styles);
}
Ответить с цитированием
  #9 (permalink)  
Старый 24.01.2015, 17:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

dataset - не работает в старье.
Сообщение от Q_BASIC
Сделал: $(this).attr('data-ident')
Это делается так: $(this).data('ident')
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 24.01.2015, 17:21
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от danik.js
dataset - не работает в старье.
Да и чёрт с ним.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите плагин для подсветки синтаксиса html css php js кода Кирюха =) Библиотеки/Тулкиты/Фреймворки 2 31.10.2015 06:12
Обфускация javascript кода на проекте shkarbatov Общие вопросы Javascript 11 29.11.2014 02:06
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
JQuery CSS анализатор javascript jQuery 2 15.08.2010 21:27
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58