-2

ブラウザの解像度を調べてCSSを変更するためのjQueryスクリプトがあります。

if ((screen.width>=1024) && (screen.height>=768))
{
 alert('Screen size: 1024x768 or larger');
  $("link[rel=stylesheet]:not(:first)").attr({href : "detect1024.css"});
}
else
{
  alert('Screen size: less than 1024x768, 800x600 maybe?');
  $("link[rel=stylesheet]:not(:first)").attr({href : "detect800.css"});
}
});

実際の機能を知るのを手伝ってもらえますか?

とはどういう:not(:first)意味ですか? 説明してください。

ありがとう。

4

2 に答える 2

1

実際には、単語に一致するlink属性を持つすべての要素を選択するが、最初に見つかった結果を除外することを意味します:)relstylesheet

したがって、コンテナに 3 つの要素があり、 を使用してそれらを選択しようとする:not(:first)と、2 番目と 3 番目の要素が表示されますが、最初の要素 (!) は除外されます。

それがあなたが望むものかどうかはわかりません...しかし、ヘッダーに複数のリンク属性があり、最初のものを除くすべてがそのhrefに設定されている場合、(!) CSSが要求され、サーバー/キャッシュに対してチェックされる可能性があります数回

メディア クエリ (thirtydot のコメント) も良い考えです (コメント +1)

于 2012-06-23T13:45:31.557 に答える
0

Chrome のインスペクターや Firefox の Firebug などの対話型コンソールを使用してみてください。入力するだけで$("link[rel=stylesheet]:not(:first)")、一致する要素があるかどうかを確認できます。

編集: メディア クエリの使用に関する Thirtydot のコメントも適切です。複数のスタイルシートを使用する場合は、この記事に役立つ情報が含まれている可能性があります。

于 2012-06-23T13:43:38.190 に答える