ページの上部に行が表示されました。
<link rel="stylesheet" href="style/style.css">
jQueryまたはjavascriptで削除するにはどうすればよいですか?
このように疲れているが、機能していない
$(link['style/style.css']).remove();
ページの上部に行が表示されました。
<link rel="stylesheet" href="style/style.css">
jQueryまたはjavascriptで削除するにはどうすればよいですか?
このように疲れているが、機能していない
$(link['style/style.css']).remove();
最新のブラウザーのほとんどでは、スタイルシートのリストを反復処理して、必要なものを無効にすることができます。
var toRemove = 'style/style.css';
[].forEach.call(document.styleSheets, function(styleSheet) {
if (styleSheet.href && styleSheet.href.substr(-toRemove.length) === toRemove) {
styleSheet.disabled = true;
}
});
属性による jQuery の選択は、次の形式です。
$('link[href="style/style.css"]');
次に、それを無効にする必要があります。
// prop() suggestion from @jahroy
$('link[href="style/style.css"]').prop("disabled", true);
これはあなたの質問に対する直接的な答えではありませんが、あなたがやろうとしていることを達成するためのより良い方法かもしれません:
スタイルシートを制御していて、簡単にオンとオフを切り替える方法が必要な場合は、Modernizrで使用されているのと同じトリックを使用することを検討してください。スタイルシートに含める代わりに:
.some-class { color: red }
場合によってはスタイルシート全体を削除すると、次のことができます。
.style-x .some-class { color: red }
次に、HTML または JavaScript で「style-x」クラスをbodyタグに追加できます。
<body class="style-x">
[...]
<div class="some-class">red text</div>
[...]
</body>
JavaScript でスタイルを削除するとは.className
、単純な JavaScript または.removeClass()
jQuery で使用して、body タグからクラス style-x を削除するだけです。
そうすれば、独立してアクティブ化および非アクティブ化できる、連結および縮小された 1 つの CSS ファイルに多くの「スタイル」を含めることができます。