0

これがあるとしましょう

var e = document.getElementById("someElement");
e.style.borderColor = "gold";
e.style.background = "yellow";
e.style.padding = "5px";
// more style modifications via javascript

インラインまたは外部 CSS ファイルに他のスタイルが設定されている可能性があります。

Javascript が適用されたすべてのスタイルをクリアする方法はありますか? e.style.* = inheritまたはのようにe.removeJavaScriptAppliedStyles()

4

2 に答える 2

4

どうぞ:

<div>hi</div>
<div>hi</div>
<div>hi</div>
<div>hi</div>
<div id="click">click</div>

///

$("div").css("color", "red");
$("#click").click(function () {
    $("*").removeAttr("style");
});

これにより、元の HTML にハードコードされたすべてのインライン スタイルが削除されるという James Bruckner の警告に注意してください。JavaScript は style 属性を操作して CSS を変更するため、何がオリジナルで、何がプログラムで設定されたかを区別する実際の方法はありません。(編集。以下のコメントを参照してください。)

http://jsfiddle.net/FASvA/

于 2013-09-13T23:13:08.757 に答える
2

オプションとして、初期style属性 ( ) をプライベート プロパティに保存し、javascript ( )e._originalStyle = e.style.cssTextを介して適用されたすべてのスタイルを削除する必要があるときにそれを復元することができます。e.style.cssText = e._originalStyle

于 2013-09-14T10:21:30.933 に答える