2013-08-08 2 views
0

Эй, как я могу загрузить таблицу стилей CSS только на основе id, используя javascript? Вот код, который у меня есть:Загрузить таблицу стилей CSS на основе ID?

<link id='bs-css' rel='stylesheet' href='bootstrap-cyborg.css' type='text/css' /> 

Я хочу, чтобы иметь возможность использовать его только на DIV, что я хочу, так что-то похожее на этот код:

<div id="bs-css"> 
some code 
</div> 

Я попробовал этот код, но его не работает, как я хотел, вот код:

<script type="text/javascript"> 
$(document).ready(function(){ 

if($("#bs-css").size()>0){ 
     if (document.createStyleSheet){ 
      document.createStyleSheet('bootstrap-cyborg.css'); 
     } 
     else { 
      $("head").append($("<link id='bs-css' rel='stylesheet' href='bootstrap-cyborg.css' type='text/css' />")); 
     } 
    } 
}); 
</script> 

Как я могу загрузить таблицы стилей CSS только на DIV, что я хочу, используя идентификатор и JavaScript?

+0

Каким образом ваш код «не работает»? Есть ли ошибки в консоли? Делает ли что-нибудь? – Pointy

+0

Что вы подразумеваете под 'Я хочу, чтобы иметь возможность использовать его только на div, который я хочу? ' Ваш код должен работать правильно с точки зрения обнаружения присутствия элемента. Обратите внимание, что '.size()' устарел в версии 1.8; вы можете использовать '.length' вместо – Ian

ответ

2

Таблицы стилей не привязаны к идентификаторам элементов. Объявления CSSв пределах таблицы стилей. Нет смысла пытаться загрузить таблицу стилей в коде, как вы предлагаете.

Просто сделать объявление для идентификатора, который вы нацеливаете в пределах обычной таблицы стилей, - лучший способ сделать это.

+1

См. также атрибут [' scoped'] (http://www.w3.org/TR/html5/document-metadata.html#attr-style-scoped), а не то, что он [ хорошо поддерживается] (http://caniuse.com/#feat=style-scoped). – robertc

+0

@robertc Ничего, никогда не слышал об этом до – Ian

+1

@robertc: скошенный атрибут удален, и он получил очень небольшую поддержку (только FF 54) –

Смежные вопросы