document.styleSheets contains all style sheets in the document, whether they're embedded or
linked. Take this bit of HTML:
<head>
<link type="text/css" rel="stylesheet" href="main.css" />
<link type="text/css" rel="stylesheet" href="colors.css" />
<style type="text/css">
.specialCase {
color: #cc0000;
}
</style>
</head>for (var i=0;i<sheets.length;i++) {
var ssName = sheets[i].href.substring(sheets[i].href.lastIndexOf('/')+1);
if (ssName == 'colors.css')
var currentSheet = sheets[i];
}
if (!currentSheet) return;/*我不明白,sheets[i].href 指的是 main.css 或 colors.css 吧,那个斜线 / 不包括在其中吧?
sheets[i].href.lastIndexOf('/')+1 指的是哪 个字符串的哪 个位置?请高手示我,谢谢。
linked. Take this bit of HTML:
<head>
<link type="text/css" rel="stylesheet" href="main.css" />
<link type="text/css" rel="stylesheet" href="colors.css" />
<style type="text/css">
.specialCase {
color: #cc0000;
}
</style>
</head>for (var i=0;i<sheets.length;i++) {
var ssName = sheets[i].href.substring(sheets[i].href.lastIndexOf('/')+1);
if (ssName == 'colors.css')
var currentSheet = sheets[i];
}
if (!currentSheet) return;/*我不明白,sheets[i].href 指的是 main.css 或 colors.css 吧,那个斜线 / 不包括在其中吧?
sheets[i].href.lastIndexOf('/')+1 指的是哪 个字符串的哪 个位置?请高手示我,谢谢。
这里的sheets数组得到的是链接调用css属性,这里就是main.css和colors.css
所以sheets[i].href得到的是两个css所在路径,比如c:/xxxx/xxxx/main.css xxx是目录名
所以这里sheets[i].href.lastIndexOf('/')+1 得到的就是最后一个/位置+1的位置substring()这个位置以后的字符,就得到了main.css,或者colors.css
不知这样说明白否
----谢谢2楼BeenZ的明示。原来我以为 lastIndexOf('/')+ 中的 / 指的是 <link type="text/css" rel="stylesheet" href="main.css" /> 中的最后一个 / 呢,这样理解是完全错误的。