Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена CSS файлов-стилей - JavaScript (https://javascript.ru/forum/misc/64384-zamena-css-fajjlov-stilejj-javascript.html)

LoonEy_Lion 07.08.2016 13:36

Замена CSS файлов-стилей - JavaScript
 
Вопрос глупый, но всё же...
Задача: менять стили страницы кликом мыши.
Ситуация простая, сам прекрасно понимаю, я только начинаю изучать js и ошибки обычно самые глупые и банальные из-за отсутствия опыта.
По факту есть следующий код:


<!doctype html>
<html lang="ru">
<head>
    <script src="changeCSS.js"></script>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="zero_shubin/css/index_style.css" id="style">
    
    <title>-ZERO-</title>
    
</head>
 
(...)
 
<div class="change">
            <div class="ch1" onclick ="GetStyle1 ()"></div>
            <div class="ch2" onclick ="GetStyle2 ()"></div>
            <div class="ch3" onclick ="GetStyle3 ()"></div>
        </div>


var a = document.getElementsByTagName('link');
 
function GetStyle1 () {
a.setAttribute("href", "zero_shubin/css/index_style.css");
}
 
function GetStyle2 () { 
a.setAttribute("href", "zero_wood/css/index_style.css");
}
 
function GetStyle3 () {
a.setAttribute("href", "zero_sea/css/index_style.css");
}


Это уже N-ная вариация, но думаю смысл вам понятен)
Ни в какую не работает.

Браузер сообщает: Uncaught TypeError: a.setAttribute is not a function

destus 07.08.2016 13:43

LoonEy_Lion,
попробуй так
var a = document.getElementsByTagName('link')[0];

LoonEy_Lion 07.08.2016 13:53

вопрос решён, на другом форуме)
Не нужно указывать строку в js:

var style = document.getElementsByTagName('link');


Тогда работает.
Правда почему так не могу догнать пока)


Часовой пояс GMT +3, время: 22:42.