Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   замена значения атрибута (https://javascript.ru/forum/jquery/27300-zamena-znacheniya-atributa.html)

frant32 08.04.2012 21:49

замена значения атрибута
 
добрый день столкнулся с задачкой вроде всё правильно но не работает

$('link#style').attr('href , заданый мною урл') ;

должно по идеи менять стиль страници до полной загрузки страници
пробовал узнать работает ли хоть что-то

alert ( $('link#style').attr('href ') );

получаю следующее

тема <localhost>
тело undefined

:(
помогите плиз скажите что не так .... играю в онлайн игру но дизайн страници говяный хочу поменять на свой )))

atlantis 08.04.2012 22:25

Не совсем понял что нужно!?
И "$('link#style').attr('href , заданый мною урл') ;" —> "$('link#style').attr('href', 'заданый мною урл');"

frant32 08.04.2012 23:24

нужно при загрузке страници заменить стиль допустим с http://javascript.ru/style.css на http://javascript.ru/anotherstyle.css ссылки не дейтсыительны)


я так понял это делается так

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>

<link id="style" href="http://javascript.ru/style.css " rel="stylesheet" type="text/css" />

<script src="jquery.js"> </script>
   <script type="text/javascript"> 
      $('link#style').attr('href','http://javascript.ru/anotherstyle.css');
   </script>

</head>

<body>
</body>
</html>

atlantis 09.04.2012 00:18

Тогда так:
На jQuery:
$('#style').attr('href','http://javascript.ru/anotherstyle.css');

На JS:
document.getElementById("style").href="http://javascript.ru/anotherstyle.css";

frant32 09.04.2012 00:36

Хм всёравно не изменяет css файл(((

zebra 09.04.2012 01:28

css загрузится до того как вы измените href. Уберите из кода gjluhepre css файла и добавьте стиль через js. :-?

T-sh 09.04.2012 06:50

файл подключается в любом случае, но применить новые стили поверх уже установленных — проблемно.

я решал это так:
свои стили прописывал с префиксом, к примеру, если было .style1 — писал .my_style1, если было #ident — #my_ident и т.д.

и после подгрузки свои стилей проходился по всем элементам, добавляя префиксы к классам и стилям.

frant32 09.04.2012 15:16

Цитата:

Сообщение от T-sh (Сообщение 167884)
файл подключается в любом случае, но применить новые стили поверх уже установленных — проблемно.

я решал это так:
свои стили прописывал с префиксом, к примеру, если было .style1 — писал .my_style1, если было #ident — #my_ident и т.д.

и после подгрузки свои стилей проходился по всем элементам, добавляя префиксы к классам и стилям.

спс, принципи размышлял о возможности такого ....
прикол в том что прийдётся описывать каждый стиль ... а это не удобно)
встречный вопрос : открываю я страницу .
подгружается ксс . потом я меняю селекторы на свои .
но сначало загрузится страница с её первоначальным стилем ,а потом по ходу стиль изменится или это произойдёт пошагово и не заметно лазу?



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>
<script src="jquery.js"> </script>
<script type="text/javascript">

$(document).ready(function(){
$("div#sometext ").attr('style','.sometext2');
});


</script>
<style type="text/css">
.somestyle { background:#CCCCCC; color:#00CCFF; font-size: 36px;}
.somestyle2 { background:#CC00CC; color:#00CCoo; font-size: 24px;}
</style>
<body >
<div id="sometext" class="somestyle">   Text   </div>


</body>
</html>

T-sh 09.04.2012 15:19

Цитата:

Сообщение от frant32 (Сообщение 167936)
спс, принципи размышлял о возможности такого ....
прикол в том что прийдётся описывать каждый стиль ... а это не удобно)
встречный вопрос : открываю я страницу .
подгружается ксс . потом я меняю селекторы на свои .
но сначало загрузится страница с её первоначальным стилем ,а потом по ходу стиль изменится или это произойдёт пошагово и не заметно лазу?

заметно :) если страница тяжелая — очень заметно, если легкая — перерисуется за долю секунды )

frant32 09.04.2012 16:21

Цитата:

Сообщение от T-sh (Сообщение 167884)
файл подключается в любом случае, но применить новые стили поверх уже установленных — проблемно.

я решал это так:
свои стили прописывал с префиксом, к примеру, если было .style1 — писал .my_style1, если было #ident — #my_ident и т.д.

и после подгрузки свои стилей проходился по всем элементам, добавляя префиксы к классам и стилям.

Цитата:

Сообщение от nasqad (Сообщение 167942)
тему не читал
я откровенно думаю вы криворукие и не смогли получить линк на элемент стилей а теперь какую то муть делаете
$('link:first').attr('href', 'http://twitter.github.com/bootstrap/assets/css/bootstrap.css');

нужно заменить линк стиля чужого сайта на свой .


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