2011-11-12 61 views
0

你好替換,JavaScript字符串與另一個值

var s = "width:20px;height:25px;color:red;font-family:myfontfamily"; 

我有這樣的字符串,現在如何更改寬度的值,高度等使用javascript.there可以之後或之前是\n屬性(寬度,高度等)..

例如:我想在s上將width更改爲50px。 所以這將是

var s = "width:50px;height:25px;color:red;font-family:myfontfamily"; 

我的另一個問題重新鋪板這裏Regular Expression to get text from css,但它不能正常工作正是我需要的。

請幫幫我。

謝謝。

Update : You can see the Result on my fiddle here : http://jsfiddle.net/jitheshkt/s2DJR/14/

+0

嗨。爲什麼不使用js內置樣式的修飾符,而不是使用直接的CSS字符串?像'document.getElementById('thing')。style.width ='50px';' –

+0

字符串s來自編輯器,而不是來自網頁,我也想將數據備份到該editor.also這不是DOM對象,只是字符串。 – Red

回答

1
var s = "width:20px;\nheight:25px;\ncolor:red;\nfont-family:myfontfamily"; 

alert(s.replace(/width:\d+/,'width:123').replace(/height:\d+/,'height:456')); 
+0

謝謝,但只適用於int值,我無法更改顏色值。 – Red

2

正則表達式。

例如:

s = s.replace(/color:\s*([^;]+)/, "color:" + newvalue) 
+0

工作正常,但我有一個自定義值是'背景:URL({背景})'代碼在這裏突破...有沒有什麼辦法可以避免這種情況... – Red

+0

嗨,檢查這個var s =「background - 顏色:白色;顏色:紅色;」 s = s.replace(/ color:\ s *([^;] +)/,「color:」+'green'); alert(s);'它取代'background-color'值...有什麼方法可以覆蓋它嗎? – Red

相關問題