Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2020, 19:13
Аватар для Conus
Аспирант
Отправить личное сообщение для Conus Посмотреть профиль Найти все сообщения от Conus
 
Регистрация: 05.12.2015
Сообщений: 85

css на помощь!!!!!
подскажите подалуйста
делаю сетатрибут
css

style : {   'background-color': '#EDE6E6',  
              boxShadow : ' 1px -1px 5px 3px rgba(0, 0, 0, .2)',

 
	   }


так boxShadow не работает другие свойства добавляю работают
html.setAttribute("style",  (s = JSON.stringify(  htmlAttribute['style'] ) ).substr(1, (s.length-2) ).replace(/,/g, ';').replace(/"/g, '') + ';' )

так если добавить работает
 html.setAttribute("style", " box-Shadow : 1px -1px 5px 3px + rgba(0, 0, 0, .2) "  )



а так только последний пункт добавляется не пойму почему
подскажите пожалуйста
if('style' in htmlAttribute )
{ 
   for( var i in htmlAttribute['style'] )  
   { 
       var c = i, d = htmlAttribute['style'][i] 
		
       html.setAttribute('style', ( c+ ':' + d +';') )  
       

   }

}
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2020, 19:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Conus,
if('style' in htmlAttribute )
{
Object.assign(html.style, htmlAttribute.style)

}
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2020, 23:23
Аватар для Conus
Аспирант
Отправить личное сообщение для Conus Посмотреть профиль Найти все сообщения от Conus
 
Регистрация: 05.12.2015
Сообщений: 85

спасибо, так работает, но все же от чего от чего здесь последний элемент только
я так понимаю предыдущие затираются но почему?

for( var i in htmlAttribute['style'] ) 

   {

       var c = i, d = htmlAttribute['style'][i]

       html.setAttribute('style', ( c+ ':' + d +';') ) 
   }
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2020, 23:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от Conus
но почему?
а = 5;
a = 4;
почему а не 5?

if('style' in htmlAttribute )
{
for( var i in htmlAttribute['style'] )

   {
       html.style[i] = htmlAttribute['style'][i]
   }

}
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2020, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Conus,
если хочется через атрибут, а не через свойство.
строка 12 изменено имя свойства.
строка 22 сотрёт стиль в строке 8, так как установит новое значение!!!
setAttribute это установка значения атрибута.
если нужно сохранить прежнее значение
var css = html.getAttribute('style')+';';

<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div style="border: 1px dashed Gray; padding: 5px">test</div>
  <script>
var html = document.querySelector('div');
var htmlAttribute = {style : {
              'background-color': '#EDE6E6',
              'box-shadow' : ' 1px -1px 5px 3px rgba(0, 0, 0, .2)'
 	   }};
if('style' in htmlAttribute )
{    var css = '';
for( var i in htmlAttribute['style'] )
   {
       var d = htmlAttribute['style'][i];
       css += `${i}:${d};`
   }
   html.setAttribute('style', css)
}
  </script>
</body>
</html>

Последний раз редактировалось рони, 14.06.2020 в 23:52.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Встраиваем шрифт внутрь css sovsem-nub (X)HTML/CSS 0 26.09.2015 20:17
Нужна помощь по Facebook. Кто умeeт хoть немного кодить? HTML, CSS, Javascript msk1 (X)HTML/CSS 5 21.02.2013 17:38
Случайный CSS при обновлении (нужна помощь в редактировании скрипта) xsfd Общие вопросы Javascript 1 13.03.2011 01:03
JQuery CSS анализатор javascript jQuery 2 15.08.2010 21:27
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58