2011-02-03 7 views
0

나는 CSS의 규칙을 가져오고 이것에 대한 드롭 다운에 표시하고 싶습니다.자바 스크립트/jquery에서 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의 대안?

답변

0

는 서버 측에서 CSS 구문 분석기를 사용하여 전달 된 목록 페이지 ...를 JSP하고 .. 모든 현대의 브라우저에

을하고있다 완료

답장을 보내 주셔서 감사합니다 :

0

페이지가로드 된 후 코드가 실행되고 있습니까? <body onload="someFunction()">에서 코드 후 또는 페이지 하단을 호출하려고

+0

기능이 작동되고 있습니다 .. 문제는 내가 생각하는 코드입니다. 그리고 ff에서 전혀 작동하지 않는다. – Varun