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

この部分がわかりません:$("link[rel=stylesheet]:not(:first)").attr

4

4 に答える 4

3

linkという名前の属性を持ちrel、その値がstylesheetで、タグの最初のタグではないすべてのタグを選択します。たとえば、次の場合:

<link rel="icon" />
<link rel="stylesheet" href="style2.css" />
<link rel="stylesheet" href="style3.css" />
<link rel="stylesheet" href="style4.css" />

セレクターは最後の 2 つのlinkタグを選択します。なんで?属性の値がではなく;であるため、最初のものを除外するためです。これは、属性を持つすべての s の最初のものであるため、2 番目のものを除外し、これを除外します。relstylesheeticonlinkrel="stylesheet"not(:first)

于 2012-09-07T23:47:41.967 に答える
1

これらは CSS セレクターです。この特定の例では、rel 値が「stylesheet」であるすべてのリンク タグが選択されていますが、最初に検出されたタグは省略されます。

以下は、セレクターを理解するのに非常に適しています。

W3Schools リファレンス: http://www.w3schools.com/cssref/css_selectors.asp

Nettuts の記事: http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/

于 2012-09-07T23:52:52.470 に答える
1
$("link[rel=stylesheet]:not(:first)").attr({href : "style1.css"});

それをその部分に分解します。この場合のセレクターは、と等しい属性を<link>持つ任意の要素に一致しますが、それは( ) が見つかったものです。見つかったとき。Jqueryは、ブラウザ ウィンドウ サイズのスタイルシートに等しい属性をアタッチします...relstylesheet:not:firsthref

于 2012-09-07T23:48:52.077 に答える
1

link[rel=stylesheet]属性rel="stylesheet"を持つすべてのタグを選択します

:not(:first)は最初のものを除外します

于 2012-09-07T23:49:22.600 に答える