MoD*_*FoX 6 html javascript jquery json
我将从一点背景开始.
所以我要做的是从元素中获取"style"属性,最终的计划是将其输出到文本框(样式是动态的).有了这个,我正在创建一些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)',
};
Run Code Online (Sandbox Code Playgroud)
通常fsize,tpadd,brad和bground都充满了
document.defaultView.getComputedStyle(cssStr[0], "")[style]
Run Code Online (Sandbox Code Playgroud)
但对于下面的jsbin,我输入了静态数字.
这将[object Object]在记录或放入文本框时返回,这是预期的.但是,我希望将此对象输出为以下形式的字符串:
font-size: Xpx;
padding: Ypx;
-webkit-border-radius: Zpx;
Run Code Online (Sandbox Code Playgroud)
等等,我尝试过JSON.stringify(compcss),但返回为:
"font-fize":"Xpx","padding":"Ypx","-webkit-border-radius":"Zpx"
Run Code Online (Sandbox Code Playgroud)
一路走下去.
以这种方式输出它的最佳方法是什么?如果有任何需要澄清,请告诉我.有没有更好的方法来解决这个问题?
这里有一个jsbin例如:http://jsbin.com/opiwuy/2/edit
Vanilla Javascript和JQuery都很好.
谢谢!
var value = '';
$.each(compcss, function(key, val) {
value += key + ' : ' + val + ';' +'\n';
});
$('#css').val(value);
Run Code Online (Sandbox Code Playgroud)
你也可以
$('#css').val(function() {
var value = '';
$.each(compcss, function(key, val) {
value += key + ' : ' + val + ';' + '\n';
});
return value;
});
Run Code Online (Sandbox Code Playgroud)