jQueryでCSSコメントを取得するにはどうすればよいですか?
質問
リンクされたスタイルシートからCSSコメントをどのように読み取ることができるか疑問に思っています。
次の経由でこのサンプルCSSをロードしています:
<link rel="stylesheet" type="text/css" media="all" href="test.css" />
&nbsp;
#test1{ border:1px solid #000; }
#test2{ border:1px solid #000; }
#test3{/* sample comment text I'm trying to read */}
これはFF3でテストしています。次のjavascriptはルールを読み取りますが、#test3
のコメントは読み取りません。
window.onload = function(){
s=document.styleSheets;
for(i=0;i < s[0].cssRules.length;i++){
alert(s[0].cssRules[i].cssText);
}
}
解決
スタイルシートのコンテンツを取得し、正規表現を使用してコメントを解析できます。この例では、jQueryを使用してスタイルシートテキストと正規表現を取得し、コメントを見つけます。
jQuery.get("test.css", null, function(data) {
var comments = data.match(/\/\*.*\*\//g);
for each (var c in comments)
alert(c);
});
セレクターを使用してスタイルシートのリンクを見つけることもできます。
他のヒント
コメントはほとんど常に通訳によって無視されるため、利用できません。
AJAXクエリを使用してCSSファイルにアクセスし、自分でコメントを探して結果を解析できます。通訳は邪魔になりません。
CSSがページと同じドメインにある限り、これはうまく機能します。
できません。それがコメントの要点です。
CSSファイルJavaScriptを読み取ることはできません。DOMで結果を調べるだけです。可能な方法の1つは、埋め込みスタイルシートを使用することです。ここでは、DOMインターフェイスを介してスタイルタグのテキストコンテンツをクエリできます。もちろん、自分でコンテンツを解析する必要があります。
所属していません StackOverflow