2011-11-12 16 views
0

こんにちは、javascriptの文字列私は、このような文字列を持っている別の値が

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

と交換し、今どのように私はjavascript.thereが\n後、または前かもしれ使用して、幅、高さなどの値を変更することができますプロパティ(幅、高さなど)。

例:widthから50pxsに変更します。 はそれは

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

こんにちは。ストレートCSS文字列で作業するのではなく、js組み込みスタイルの修飾子を使用しないのはなぜですか? 'document.getElementById( 'thing')と同じです。style.width = '50px';' –

+0

文字列sはエディタから来ていますが、ウェブページからではなく、そのエディタにデータを戻したいと思っています。 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

うまく動作しますが、私は 'background:url({background})'コードがここでブレークするカスタム値を持っています...これを避ける方法はありますか? – Red

+0

こんにちは、この 'var s = - 色:白;色:赤; "s = s.replace(/ color:\ s *([^;] +)/、 "color:" + "green"); アラート; 'これは' background-color'値を置き換えます...これをオーバーライドする方法はありますか? – Red

関連する問題