JavaScriptを使用して要素のCSSプロパティを削除することは可能ですか?たとえばdiv.style.zoom = 1.2
、JavaScriptを使用してズームプロパティを削除したいですか?
JavaScriptを使用して要素のCSSプロパティを削除することは可能ですか?たとえばdiv.style.zoom = 1.2
、JavaScriptを使用してズームプロパティを削除したいですか?
回答:
次の2つのオプションがあります。
オプション1:
removePropertyメソッドを使用できます。要素からスタイルを削除します。
el.style.removeProperty('zoom');
オプション2:
これをデフォルト値に設定できます。
el.style.zoom = "";
これで、効果的なズームは、スタイルシートで設定された定義から(リンクとスタイルタグを介して)続くものになります。したがって、この構文はこの要素のローカルスタイルのみを変更します。
removePropertyは要素からスタイルを削除します。
例:
div.style.removeProperty( 'zoom');
MDNドキュメントページ:
CSSStyleDeclaration.removeProperty
styleSheetsオブジェクトを使用できます。
document.styleSheets[0].cssRules[0].style.removeProperty("zoom");
警告#1:スタイルシートのインデックスとルールのインデックスを知っている必要があります。
警告#2:このオブジェクトは、ブラウザーによって一貫して実装されていません。1つで機能するものは、他では機能しない場合があります。
CSSStyleRule.prototype.removeProperty
=(実際にCSSStyleRule
はメソッドはありません。=(
CSSStyleSheet.prototype.removeRule
救助へ。
CSSStyleSheet.prototype.deleteRule
?
このクラスを持つすべての要素を見つけて、「zoom」プロパティを「nothing」に設定してみてください。
jQuery JavaScriptライブラリを使用している場合は、 $(".the_required_class").css("zoom","")
編集:コメントや他の回答で指摘されているように、このステートメントは真実ではないことが判明したため、このステートメントを削除しました。2010年以来実際に可能でした。
False:JavaScriptからスタイルシートを変更する一般的に知られた方法はありません。
css
ではなくattr
、そうです。
これをjQueryで行うこともできます $(selector).css("zoom", "")
これでうまくいくはずです-ズームのインラインスタイルを通常に設定します。
$( 'div')。attr( "style"、 "zoom:normal;");
実際に、あなたがすでにそのプロパティを知っているなら、これはそれを行います...
例えば:
<a href="test.html" style="color:white;zoom:1.2" id="MyLink"></a>
var txt = "";
txt = getStyle(InterTabLink);
setStyle(InterTabLink, txt.replace("zoom\:1\.2\;","");
function setStyle(element, styleText){
if(element.style.setAttribute)
element.style.setAttribute("cssText", styleText );
else
element.setAttribute("style", styleText );
}
/* getStyle function */
function getStyle(element){
var styleText = element.getAttribute('style');
if(styleText == null)
return "";
if (typeof styleText == 'string') // !IE
return styleText;
else // IE
return styleText.cssText;
}
これはインラインスタイルでのみ機能することに注意してください...クラスなどで指定したスタイルでは機能しません...
その他の注意:そのreplaceステートメントで一部の文字をエスケープする必要があるかもしれませんが、あなたはアイデアを得ます。
要素のすべてのクラスを変更するには:
document.getElementById("ElementID").className = "CssClass";
要素にクラスを追加するには:
document.getElementById("ElementID").className += " CssClass";
クラスが要素にすでに適用されているかどうかを確認するには:
if ( document.getElementById("ElementID").className.match(/(?:^|\s)CssClass(?!\S)/) )