这是将背景图像更改为样式表的完整示例。 第一部分找到正确的样式表。在这里,我想要最后一个,其href包含“mycss.css”。您也可以使用title属性。
第二部分找到正确的规则。在这里,我把一个标记“MYCSSRULE”,所以我可以找到正确的规则。
在mycss.css CSS的规则是:#map TD,MYCSSRULE {背景图像:URL( “img1.png”); }
第三部分只是改变了规则。
此过程不与Internet Explorer 6.工作(IE 8是确定)。适用于Firefox 3和Webkit。
希望它有帮助。
function changeBgImg(newimage) {
var i,n;
var ssheets = document.styleSheets; // all styleSheets. Find the right one
var ssheet;
// find the last one whose href contain "myhref"
n = ssheets.length;
for (i=n-1; i>=0 ;i--) {
var thisheet = ssheets[i];
if ((null != thisheet.href) && (thisheet.href.indexOf("mycss.css") != -1)) {
ssheet = thisheet; break;
}
}
if ((null == ssheet) || ("undefined" == typeof(ssheet.cssRules))) {
// stylesheet not found or internet explorer 6
return;
}
// find the right rule
var rule;
n = ssheet.cssRules.length;
for (i=0; i
var r = ssheet.cssRules.item(i);
if (typeof(r.selectorText) == "undefined") { continue; }
if (r.selectorText.indexOf("MYCSSRULE") != -1) {
rule = r; break;
}
}
if (null == rule) {
// not found
return;
}
rule.style.backgroundImage = "url(" + newImage + ")";
}