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 +';') )
}
}
|
Conus,
if('style' in htmlAttribute )
{
Object.assign(html.style, htmlAttribute.style)
}
|
спасибо, так работает, но все же от чего от чего здесь последний элемент только
я так понимаю предыдущие затираются но почему?
for( var i in htmlAttribute['style'] )
{
var c = i, d = htmlAttribute['style'][i]
html.setAttribute('style', ( c+ ':' + d +';') )
}
|
Цитата:
a = 4; почему а не 5?
if('style' in htmlAttribute )
{
for( var i in htmlAttribute['style'] )
{
html.style[i] = htmlAttribute['style'][i]
}
}
|
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>
|
| Часовой пояс GMT +3, время: 07:11. |