1

透明度を設定してから透明度を削除する入力フィールドがあります。

ステップ1:

<div class="container" style="background: grey">
    <input id="firstName" type="text" value="Hello">
</div>​

脚本:

$("#firstName").css("background", "transparent");

これで、入力要素の背景色は灰色(コンテナの背景色)になります。これまでのところ、IE+Chromeの両方で良好です。

ステップ2:「透明な」cssプロパティを削除したいので、これを試みます。

$("#firstName").css("background", "");

背景が白に設定されているため、これはChromeで機能します。ただし、IE8では、入力要素の背景色は灰色のままです。上記の行は、IE8では何の効果もありません。誰かが私がやろうとしていることを達成する方法を知っていますか?

JSFiddleと完全なコード:http://jsfiddle.net/R24Ym/5/

4

1 に答える 1

1

これが適用している唯一のスタイルである場合は、style属性を削除するだけです。

$('#firstName').removeAttribute('style');

それ以外の場合は、transparentというクラスを作成し、それを追加および削除できます。

$('#firstName').addClass('transparent');
$('#firstName').removeClass('transparent');

CSS:

.transparent{
    background:none transparent;
}

http://jsfiddle.net/R24Ym/7/

于 2012-11-05T09:28:04.743 に答える