我想为此获取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/