2013-08-06 58 views
-3
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); 
+4

「不工作」是什麼意思? – j08691

+0

它不工作? – Krishna

+0

你能告訴我你得到的錯誤是什麼? –

回答

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#source'),因爲你想從只有1個div而不是所有div的頁面(包括div#taget);

2

您應該將一個對象傳遞給css方法。 '{...}'這是一個字符串。這樣,您使用css方法作爲getter而不是setter,jQuery會嘗試查找並返回所請求屬性的值('{...}'字符串),這當然是undefined

+1

尊重,你從這個問題了解什麼? – AnaMaria

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); 

你應當已經閱讀the documentation,在那裏你可以看到一些工作實例。 另外,你看起來像缺乏javascript,對象等基礎知識,所以我建議你訪問this place

+2

您應該在SO編輯器中將您的「代碼」格式化爲代碼塊(Ctrl + K,所需代碼突出顯示)。這使得代碼很容易與對話區分開來。 – VoidKing

+0

感謝您的鍵盤快捷方式:) –

+0

沒有問題,對於一個小的附加信息(我覺得這非常有用):使用Ctrl +單擊實際的代碼塊按鈕,將所有突出顯示的行減少四個空格(與單擊按鈕相反或使用Ctrl + K)。 – VoidKing

0

@Hey,

在你的代碼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>