powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Взять стиль из объекта
8 сообщений из 8, страница 1 из 1
Взять стиль из объекта
    #39090038
Есть объект, в котором прописаны некоторые CSS-свойства. Хочется применить их к элементу. Делаю так (самое интересное ошибки нет)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#d1 {width:200px; border:1px solid #ccc; margin:20px;}
</style>
</head>
<body>
<button onclick="run(s)" id="Button1">Button1</button>
<div id="d1">div 1</div>

<script>
var s = {id:'d1', background:'orange', padding:'10px', border:'2px solid green'};

function run(s) {
  var el = document.getElementById(s.id), k;
  for (k in s) {
    if (k != 'id') {    
      console.log('el.style.' + k + ' = ' + '"' + s[k] + '"');
      el.style.k = '"' + s[k] + '"';
    }
  }
}
</script>
</body>
</html>


В консоле выводятся правильные строки
Код: javascript
1.
2.
3.
el.style.background = "orange"
el.style.padding = "10px"
el.style.border = "2px solid green"

но я не знаю, как их применить к стилю элемента. Использовать eval() не хочется.
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090085
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
el.style[k] Не?
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090101
Alexander A. Sak,

Код: javascript
1.
el.style[k] = '"' + s[k] + '"';

Ошибка при парсинге значения «background». Потерянное объявление
Ошибка при парсинге значения «padding». Потерянное объявление
Ошибка при парсинге значения «border». Потерянное объявление
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090125
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кавычки лишние.
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090133
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос от новичкакак их применить к стилю элемента
Как вариант...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#d1 {width:200px; border:1px solid #ccc; margin:20px;}
</style>
<script type='text/javascript'>
var s = {
	id: 'd1', 
	style: {
		background: 'orange', 
		padding: '10px', 
		border: '2px solid green'
	}
};
function run(Obj) {
	var obj = document.getElementById(Obj.id);
	for (var k in Obj.style) {
		obj.style[k] = Obj.style[k];
	};
};
</script>
</head>
<body>
<button onclick="run(s);" id="Button1">Go</button>
<div id="d1">div 1</div>
</body>
</html>
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090196
Alexander A. SakКавычки лишние.точно. Такой вариант работает, спасибо!
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var s = {id:'d1', background:'orange', padding:'10px', border:'2px solid green'};

function run(s) {
  var el = document.getElementById(s.id), k;
  for (k in s) {
    if (k != 'id') {    
      el.style[k] = s[k];
    }
  }
}


krvsaКак вариант...Так тоже работает. Интересный подход с разделением атрибутов. Пригодится в будущем, спасибо!
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090316
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос от новичкаИнтересный подход с разделением атрибутов.
Чем удобнее данные - тем удобнее их использовать... ;)
...
Рейтинг: 0 / 0
Взять стиль из объекта
    #39090359
krvsa,

это точно!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Взять стиль из объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]