Как изменить файл CSS с помощью JavaScript?
Я хотел бы спросить, как изменить SRC 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.
Спасибо!
1 ответ
document.styleSheets
свойство READ-ONLY, поэтому вы не сможете изменить свойства этого массива.
Вместо этого вы хотите получить список всех <link>
элементы в голове, затем либо используйте регулярное выражение или условное выражение, чтобы получить элемент, который вы хотите заменить, и используйте .href
на этом элементе.
НАПРИМЕР
// 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";
}
}