$(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
答案 0 :(得分: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" />
选择器会选择最后两个link
标签。为什么?因为排除第一个,因为rel
属性的值不是stylesheet
,而是icon
;并且排除第二个,因为它是具有属性link
和rel="stylesheet"
过滤器的所有not(:first)
的第一个这一个。
答案 1 :(得分:1)
$("link[rel=stylesheet]:not(:first)").attr({href : "style1.css"});
将其分解成各个部分。在这种情况下,选择器将匹配任何<link>
元素,其rel
属性等于stylesheet
,但它是:not
(:first
)一个元素认定。什么时候发现Jquery附加一个href
属性,该属性等于浏览器窗口大小的样式表... 呼吸
答案 2 :(得分:1)
link [rel = stylesheet] 会选择属性为 rel =“stylesheet”的所有标记
和:not(:first)将过滤掉第一个
答案 3 :(得分:1)
这些是CSS选择器。在此特定示例中,正在选择其rel值为“样式表”的所有链接标记,但遇到的第一个标记将被省略。
以下内容非常适合处理选择器:
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/