2016-06-02 6 views
-1

Я бы спросил, как изменить src CSS, используя чистый Javascript. Я видел в Интернете, что один парень использовал куки для этого, я попробовал сделать это так:Как сменить CSS-файл с помощью JavaScript?

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); 

};

И это не сработало (я хочу изменить CSS через 3 с, я знаю, что фактическая локализация локальная, на моем ПК. Просто попробуйте :)). Я хочу поменять весь файл.

Любые идеи? Если это невозможно в чистом JS, покажите мне путь jQuery.

Спасибо!

+0

Зачем вам нужно изменить css-файл? Затем вам нужно будет повторно загрузить (// re-render) страницу для обновления изменений. Используйте обработчик атрибутов 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 - это свойство READ-ONLY, поэтому вы не сможете изменить свойства этого массива.

Вместо этого вы получите список всех элементов <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"; 
    } 
} 
Смежные вопросы