Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2013, 12:55
JSN JSN вне форума
Аспирант
Отправить личное сообщение для JSN Посмотреть профиль Найти все сообщения от JSN
 
Регистрация: 01.09.2012
Сообщений: 57

Ещё раз изменение css файла посредством javascript
Я знаю, что эта тема уже много раз обсуждалась, я прочитал много статей, но так ничего и не понял, ибо я нуб.
Есть много длинных решений, в которых я не смог разобраться, а ставить то, не знаю что я не хочу.
Однако меня заинтересовали два решения в одну строчку, которые тем не менее у меня не заработали:
1. Изменение href через .setAttribute, которое просто ломает код:
document.getElementBy...('...').setAttribute('href', 'style.css');

2. Изменение href через .href, однако это решение у меня не сработало, а попытки получить доступ к href таким образом выдают мне undefined:
document.getElementBy...('...').href = 'style.css';

Могут ли эти решения вообще работать? Если да, то зачем нужны более длинные решения?
, заранее благодарю
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2013, 13:02
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

так работает этот метод
в html
<link rel="stylesheet" href="css/screen.css" id="myStyle">

в js
var style = document.getElementById('myStyle');
style.href = 'css/newStyle.css'
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2013, 13:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

JSN,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <link rel="stylesheet" type="text/css" href="123456">
</head>

<body>
   <script>
    var link = document.getElementsByTagName('link')[0]
    alert(link.href);
    link.href="http://javascript.ru/forum/clientscript/vbulletin_css/style-97d6914a-00003.css"
   </script>
</body>

</html>
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2013, 13:10
JSN JSN вне форума
Аспирант
Отправить личное сообщение для JSN Посмотреть профиль Найти все сообщения от JSN
 
Регистрация: 01.09.2012
Сообщений: 57

Спасибо, заработало.
.setAttribute тоже работает, это был чисто мой косяк, я описался и не заметил.
Ответить с цитированием
  #5 (permalink)  
Старый 08.07.2013, 13:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

setAttribute не рекомендуется использовать.
Ответить с цитированием
  #6 (permalink)  
Старый 27.03.2020, 09:48
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

А я правильно понял что для js не нужно указывать путь к папке которая находится в head для css, он видимо прочтет с конца строки а вот на которую нужно заменить нужно указать.
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2020, 10:02
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от animhotep Посмотреть сообщение
так работает этот метод
в html
<link rel="stylesheet" href="css/screen.css" id="myStyle">

в js
var style = document.getElementById('myStyle');
style.href = 'css/newStyle.css'
А почему когда я пишу через getElementById у меня не работает а когда пишу через querySelector все работает
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2020, 10:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Сергей Ракипов
А почему
а где код?
Ответить с цитированием
  #9 (permalink)  
Старый 27.03.2020, 10:42
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от рони Посмотреть сообщение
а где код?
А все моя ошибка я был не внимательный


А что с этим вопросом


А я правильно понял что для js не нужно указывать путь к папке которая находится в head для css, он видимо прочтет с конца строки а вот на которую нужно заменить нужно указать.

document.getElementsByTagName("link")[1].href = "css/print.css";
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Изменение css свойства Rumis jQuery 2 21.05.2013 11:55
javascript в конце php файла обработчика borodadada Events/DOM/Window 3 11.05.2013 21:37
Еще раз о перелистывании digital_sword jQuery 14 27.05.2010 22:20
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37