Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Подключение внешней css (https://javascript.ru/forum/jquery/29840-podklyuchenie-vneshnejj-css.html)

Blizzart 13.07.2012 14:29

Подключение внешней css
 
Добрый день. Подскажите, пожалуйста, можно ли сделать что-то подобное:
$(document).ready(function() {
	   	var a=document.URL;
	   	if (a = "http://localhost")
	   	{
		 <link href="/style/style.css" rel="stylesheet" type="text/css">  
		}
		else
		{
		<link href="/style/other.css" rel="stylesheet" type="text/css">  
		}
   alert(a);
	});

главная страница в одном стиле, а остальные в другом. Просто CMS мне не знакомая и не понятно как подключать разные templates.

vadim5june 13.07.2012 14:37

Вы внутрь javascript вставляете HTML-так нельзя конечно
<link href="/style/style.css" rel="stylesheet" type="text/css">

Blizzart 13.07.2012 14:48

то есть подключить никак, можно только так $('*').css('...'); ?

vadim5june 13.07.2012 14:57

попробуйте так вместо этих HTML строк
var lnk=document.createElement('link');
$(lnk).attr('href','/style/style.css');
$(lnk).attr('type','style/css');
document.head.appendChild(lnk)

zlodeeev 13.07.2012 15:00

function CSSLoad(file){
        $('link[rel=stylesheet]').remove(); // удаляем имеющийся css файл
	var link = document.createElement("link");
	link.setAttribute("rel", "stylesheet");
	link.setAttribute("type", "text/css");
	link.setAttribute("href", file);
	document.getElementsByTagName("head")[0].appendChild(link)
}

CSSLoad('/addStyles.css'); //пример использования

Blizzart 13.07.2012 15:27

Большое спасибо! Оба варианта работаю, только проблема в том что ни один не хочет видеть условие. По идеи в этом варианте должен сработать else, так как http://localhost1 не существует, но тут как и со вторым примером обрабатывается только то что идёт первым, то есть создается "style.css" а не "style1.css"
var a=document.URL;
		var lnk=document.createElement('link');
	   	if (a = "http://localhost1")
	   	{
		$(lnk).attr('href','/style/style.css');
		$(lnk).attr('type','style/css');
		$(lnk).attr('rel','stylesheet');
  		}
		else
		{
		$(lnk).attr('href','/style/style1.css');
		$(lnk).attr('type','style/css');
		$(lnk).attr('rel','stylesheet');
		}
	document.head.appendChild(lnk)

Blizzart 13.07.2012 15:31

я понял
if (a == "http://localhost1")

vadim5june 13.07.2012 15:32

if (a == "http://localhost1")

Blizzart 13.07.2012 23:37

Хочу отметить что в IE работает только так
Цитата:

Сообщение от zlodeeev
01
function CSSLoad(file){
02
        $('link[rel=stylesheet]').remove(); // удаляем имеющийся css файл
03
    var link = document.createElement("link");
04
    link.setAttribute("rel", "stylesheet");
05
    link.setAttribute("type", "text/css");
06
    link.setAttribute("href", file);
07
    document.getElementsByTagName("head")[0].appendChild(link)
08
}
09
 
10
CSSLoad('/addStyles.css'); //пример использования


Deff 14.07.2012 04:27

Blizzart,
var newLink=[];
  newLink[0] ='<link rel="stylesheet" type="text/css" href="CSS0.css" />';
  newLink[1] ='<link rel="stylesheet" type="text/css" href="CSS1.css" />'
  $('link[rel=stylesheet]').replaceWith(newLink[1])


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