var csn = ['font-family', 'font-size', 'font-weight', 'color', 'text-decoration', 'text-shadow', 'background-color'];
$.each(csn, function (n, value) {
style.push("'" + value + "':'" + $('div').css(value) + "'");
});
var msg = "{" + style.join(',') + "}";
$('div#taget').css(msg);
问问题
156 次
4 回答
2
您应该将一个对象传递给 css 方法。'{...}'
这是一个字符串。这样,您将该css
方法用作 getter 而不是 setter,jQuery 会尝试查找并返回所请求属性的值(即'{...}
“字符串”),这当然是undefined
.
于 2013-08-06T14:05:40.710 回答
1
更正:
// use camelCased properties
var props = ['fontFamily', 'fontSize', 'fontWeight', 'color', 'textDecoration', 'textShadow', 'backgroundColor'];
//create a dump object
var dump = {};
//iterate through properties and populate the dump object
for(var i = 0, l = props.length, prop; prop = props[i]; i++)
dump[prop] = $('div').css(prop);
});
//apply
$('div#taget').css(dump);
您应该阅读过文档,您可以在其中看到一些工作示例。此外,你看起来缺乏 javascript、对象等方面的基础知识,所以我建议你访问这个地方。
于 2013-08-06T14:09:20.680 回答
0
@嘿,
更改了您的代码FIDDLE DEMO中的一些内容
这是查看 div 来源时的结果。
<div id="taget" style="font-family:'Times New Roman',font-size:16px,font-weight:400,color:rgb(0, 0, 0),text-decoration:none,text-shadow:none,background-color:rgba(0, 0, 0, 0)">content heer</div>
于 2013-08-06T14:12:00.457 回答
0
我没有测试,但是,试试这个
var csn = ['font-family', 'font-size', 'font-weight', 'color', 'text-decoration', 'text-shadow', 'background-color'];
$.each(csn, function (n, value) {
$('div#taget').css(value, $('div#source').css(value));
});
看我将$('div')更改为$('div#source'),因为您只想从 1 个 div 而不是页面的所有 div 中获取样式(包括div#taget);
于 2013-08-06T14:05:21.207 回答