javascript [object Object] to string

Начну с небольшой предыстории.

Итак, что я пытаюсь сделать, так это получить атрибут «стиль» от элемента, и конечный план состоит в том, чтобы вывести его в текстовое поле (стиль является динамическим). При этом я создаю некоторые префиксы css из-за того, что я использую только вычисляемые стили.

При этом у меня есть переменная с набором свойств css, как показано здесь:

compcss = {
                'font-size': fsize,
                'padding': tpadd,

                '-webkit-border-radius': brad,
                '-moz-border-radius': brad,
                '-o-border-radius': brad,
                '-ms-border-radius': brad,
                'border-radius': brad,

                'background': bground,
                'background-m': bgmoz,
                'background-o': bgop,
                'background-i': bgie,
                'color': 'white',
                'text-shadow': '0 -1px 0 rgba(0, 0, 0, 0.25)',
                'text-decoration': 'none',
                'border': '1px solid rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25)',

            };

Обычно fsize, tpadd, brad и bground заполнены

document.defaultView.getComputedStyle(cssStr[0], "")[style]

, но для следующего jsbin я ввел статические числа.

Это возвращает как [object Object]при входе в систему или вводе в текстовое поле, что и следовало ожидать. Однако я хочу, чтобы этот объект выводился в виде строки в форме:

font-size: Xpx;
padding: Ypx;
-webkit-border-radius: Zpx;

и т. д. Я пробовал JSON.stringify(compcss), но это возвращает как:

"font-fize":"Xpx","padding":"Ypx","-webkit-border-radius":"Zpx"

на всем протяжении строки.

Как лучше всего заставить это выводить так, как я хочу? Дайте мне знать, если что-то нуждается в уточнении. Есть ли лучший способ сделать это?

вот пример jsbin: http://jsbin.com/opiwuy/2/edit

И Vanilla Javascript, и JQuery подходят.

Спасибо!

6
задан thecodeparadox 1 June 2012 в 17:53
поделиться