2016-06-02 2 views
-1

순수한 자바 스크립트를 사용하여 CSS의 src를 변경하는 방법을 묻습니다. 나는 인터넷에서 한 사람이 이것을 위해 쿠키를 사용하는 것을 보았습니다. 나는 이렇게 시도했습니다.JavaScript를 사용하여 CSS 파일을 변경하는 방법은 무엇입니까?

window.onload = function onload() { 
setTimeout(function(){ 
    document.styleSheets[1].href = "file:///C:/Users/Ma%C5%9Blan/Desktop/Site/bootstrap-3.3.6-dist/project1a.css"; 
    }, 3000); 

}};

그리고 작동하지 않았습니다. (3 초 후에 CSS를 변경하고 싶습니다. 실제 현지화는 로컬 PC에 있습니다. 그냥 시도하고 있습니다 :)). 전체 파일을 교환하고 싶습니다.

아이디어가 있으십니까? 순수한 JS에서 불가능하다면 jQuery 방식을 보여주세요.

감사합니다.

+0

왜 CSS 파일을 변경하겠습니까? 그런 다음 변경 사항을 업데이트하기 위해 페이지를 다시로드 (// 다시 렌더링)해야합니다. Javascript 특성 처리기를 사용합니다 .. https://developer.mozilla.org/en-US/docs/Web/API/ HTMLElement/style 또는 어쩌면 당신은 문서를 준비하기 전에 그것을 주입해야 할 경우에 CSS 파일을 지정하려고합니다. 당신이 달성하고 싶은 것에 대한 더 많은 설명은 훌륭 할 것입니다. – Pogrindis

+0

전체 문서에 많은 CSS를 사용하고 있습니다. 3 초 후에 많은 요소를 변경하여 전체 CSS를 변경하고 싶을 때 나에게 도움이 될 것입니다./ – zippedin

+0

CSS 파일을 교환하고 싶습니다. – zippedin

답변

0

document.styleSheets은 읽기 전용 속성이므로 해당 배열의 속성을 변경할 수 없습니다.

대신 머리 속에있는 <link> 요소 목록을 얻은 다음 정규식 또는 조건문을 사용하여 대체하려는 요소를 가져오고 그 요소에 .href을 사용하십시오.

E.G.

// get all links in the head (including CSS) 
var allLinks = document.head.getElementsByTagName('link'); 
// find and replace the element 
for (var i = 0; i < allLinks.length; i++) { 
    if (allLinks[i].href = "old/url/to/css/file.css") { 
     allLinks[i].href = "file:///C:/Users/Ma%C5%9Blan/Desktop/Site/bootstrap-3.3.6-dist/project1a.css"; 
    } 
} 
관련 문제