2016-09-27 9 views
0

私はCMSのバックエンドにしかアクセスできません。彼らはこの方法でカスタムスタイルシートをロードしています。JavaScriptでCSSリンクをターゲットに設定する方法

media="(min-width:481px)"を削除する必要があります。 JavaScriptでこれを行う方法はありますか(私はCMSがjqueryを使用しているとは思わない)?

+3

確かに方法があります。実際に何かをするかどうかは、別の問題です。スタイルシートは、JavaScriptが読み込まれる前にロードされているかどうかに関係なくロードされます。既存の 'link'要素を使いこなすのではなく、JavaScript経由でスタイルシートをロードする方が良いでしょう。そのためには、以下のような多くの答えがあります。http://stackoverflow.com/q/9979415/215552 –

+0

これはCMSなので、バックエンドの問題を解決する方が簡単です。 – adeneo

+0

私は 'media ="(min-width:481px)を削除できないことを100%確信しているCMSプロバイダに連絡してみました。 – Heather

答えて

1

私は個人的にはJavaScriptを使用してリンクの要素をいじってはお勧めしませんが、あなたはまだそれをしたい場合は、この作業をする必要があります:

document.querySelector('link[href=href=".../css/custom/styles.css"]').removeAttribute('media'); 

あなたはまだこれをしたい場合は、にしてくださいCSSスタイルが読み込まれるのを待ちます。

あなたには、いくつかの理由で、この溶液を用いて行きたいと、すべてのリンクタグのためにそれを行う場合は、この1つは単純です:

var linkList = document.querySelectorAll('link'); 

for(var i in linkList) { 
linkList[i].removeAttribute('media'); 
} 

常に.removeAttributeを使用し、代わりにnullに引数を設定するsetAttributeを使用します。それは一般的に悪い習慣です。

+0

ありがとう、これは正解かもしれませんが、彼らは任意のカスタムJSを取り除くことを発見しました... – Heather

+0

あなたは大歓迎です。サーバー側の言語ファイルにアクセスできる場合は、手動で実行できます。それが最良のシナリオでしょう。 –

+0

残念なことに、自分のやり方を100%確信しているegomaniacsが運営する非常に貧弱なCMSが唯一の方法です。 – Heather

関連する問題