我想获取 css 规则并显示在下拉列表中,我正在做这件事..
var opnr = window.opener ;
function getStyle() {
var selCss=opnr.document.getElementById("CSS");
loadjscssfile("css/"+selCss.value,"css");
var cssRef = document.styleSheets[0];
cssRef.href ='css/'+ selCss.value;
var classes = cssRef.rules || cssRef.cssRules ;
var select = document.getElementById('stylefieldid');//document.createElement('select');
for(var x=0;x<classes.length;x++) {
var option = document.createElement('option');
var className = classes[x].selectorText;
if(className.startsWith('.')){
className = className.substring(1,className.length);
}
option.text = className;
option.value = className;
select.add(option);
}
}
function loadjscssfile(filename, filetype){
var fileref;
if (filetype=="js")
{
fileref=document.createElement("script");
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
}
else if (filetype=="css"){
fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref);
}
但这显示出突然的行为,变量 classes
有时变得未定义,而有时它有值......我试着提醒 cssRef.href
它给了我正确的值..
代码根本无法在 FF 上工作,任何变通
有什么帮助吗??为什么会这样
jquery 中的任何替代方案????
最佳答案
您确定您的代码在页面加载后触发吗?尝试在 <body onload="someFunction()">
中的代码之后调用它或者在页面底部
关于javascript - 在 javascript/jquery 中获取 CSS 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4883129/