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 メソッドに渡す必要があります。'{...}'
これは文字列です。このように、メソッドをセッターではなくゲッターとして使用すると、jQuery は要求されたプロパティ (文字列)の値をcss
見つけて返そうとします。'{...}
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
私はテストしていませんが、これを試してください
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')に変更したことを確認してください。これは、ページのすべての div ( div#tagetを含む) ではなく、1 つの div からスタイルを取得する必要があるためです。
于 2013-08-06T14:05:21.207 に答える
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 に答える