Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Есть какой-то вменяемый способ массово устанавливать стили созданному элементу? (https://javascript.ru/forum/dom-window/51969-est-kakojj-vmenyaemyjj-sposob-massovo-ustanavlivat-stili-sozdannomu-ehlementu.html)

SokDobriy 28.11.2014 03:36

Есть какой-то вменяемый способ массово устанавливать стили созданному элементу?
 
Пробовал через innerHTML
Пробовал создавать тег <style>
Пробовал style.cssText
Пробовал через setAttribute
Не работает. Может как-то не так пробовал?
Приведите пример, как нужно, если я всё же думал в правильном направлении.

SokDobriy 28.11.2014 04:22

Так отставить панику. Работает. Но почему-то, когда пишу в столбик не работает.

Aetae 28.11.2014 04:48

Потому что в js (пока) нет (нормальных) "многострочных строк".

danik.js 28.11.2014 06:52

Цитата:

Сообщение от SokDobriy
Пробовал через setAttribute

Не надо так пробовать.

ruslan_mart 28.11.2014 07:30

function setStyles(self, styles) {
    for(var i in styles) self.style[i] = styles[i];
}



var myElem = document.getElementById('myElem');
setStyles(myElem, {
    border: '1px solid #000',
    color: 'red',
    margin: '10px',
    padding: '10px',
    textAlign: 'center'
});

Aetae 28.11.2014 14:36

Ruslan_xDD,
text-align: 'center'
ага, конечно.

danik.js 28.11.2014 15:01

Цитата:

Сообщение от Ruslan_xDD
self[i]

Тоже сомнительно)

ruslan_mart 28.11.2014 15:26

Блин, торопился утром, не заметил. :)

function setStyles(self, styles) {
    for(var i in styles) self.style[i] = styles[i];
}



var myElem = document.getElementById('myElem');
setStyles(myElem, {
    border: '1px solid #000',
    color: 'red',
    margin: '10px',
    padding: '10px',
    textAlign: 'center'
});

SokDobriy 28.11.2014 17:40

Ребята, всем большое спасибо! У вас очень отзывчивый форум!
В итоге просто создал и добавил <link>.


Часовой пояс GMT +3, время: 08:42.