2016-05-13 12 views
0

要素に渡されているcssPropertyから削除しようとしているオブジェクトがあります。私は運がないといくつかのことを試して、紛失しています。オブジェクトから値を削除する

オブジェクトが

Object {background-color: "#91eae8"} 

のように見えると働いている私は

delete this.cssProps.background-color; 

delete this.cssProps[background-color]; 

delete this.cssProps['background-color']; 

どちらも同じようにそれを削除しようとしていると、それは私がやっているものを知っていないため、ViewModelにエラーがスローされます。私はオブジェクトがそれのまわりで引用符を持って来るか、それと似たようなものを変更することはできません。

+0

のいずれかの操作を実行しようとするだろう、それは私だけでは、 'this.cssProps [「背景色」]を削除するという意味ではありません。すべてのものと何も – zazvorniki

+3

をしようとしていましたか;'? –

+2

js use 'delete'にそのような演算子' remove'はありません –

答えて

2

cssでは、未定義のプロパティはありません。それらはすべてデフォルト値を持ちます。だから、プロパティを削除しようとすると動作しません。代わりに、値を異なる値に変更して、必要な動作を得ることができます。

私ははいこれら

this.style.backgroundColor = "inherit";//background will be the same as it's parent 
this.style.backgroundColor = "transparent";//background will show what is behind it 
this.style.backgroundColor = "inital"; //sets it to the default value 
+0

'CSSStyleDeclaration'(あなたが話していると思います)には、あなたが_empty_プロパティ' '" 'を持っている場合、' removeProperty'を呼び出すことによってプロパティを空にすることができます。空の値と既定値の違いは、空のプロパティが別の一致するルールのプロパティを上書きしないことです。デフォルトでは、 'CSSStyleDeclaration'のプロパティはすべて空です。 –

関連する問題