2010-06-14 4 views
0

Как добавить стили CSS внутри <body> или <head>, размещенных в JavaScript файл так:JQuery включают CSS

<style type="text/css"> 
    .popup-bg { 
     position: fixed; 
     left: 0; 
     top: 0; 
     width: 100%; 
     height: 100%; 
     background: #eee; 
    } 
</style> 

Единственный способ, чтобы написать CSS внутри JavaScript, нет доступа к HTML или любой внешний css.

Спасибо.

ответ

1

Использование addClass метод JQuery:

$('body').addClass('popup-bg'); 

Update:

$(function(){ 
    $('head').append(' 
     <style type="text/css"> 
     .popup-bg { 
      position: fixed; 
      left: 0; 
      top: 0; 
      width: 100%; 
      height: 100%; 
      background: #eee; 
     } 
     </style> 
    '); 
    }); 
+0

не можешь использовать его, все стили должны быть написанный внутри js-файла – Happy

+0

@Happy: Мы не понимаем ваш вопрос, пожалуйста, будьте более конкретными. – Sarfraz

+0

Из того, что я получил, он хочет использовать JavaScript для добавления стилей в документ после его загрузки ... – animuson

0
$('body').addClass('popup-bg'); 

Поскольку гарантированно будет только один body элемент, выбрав на сам элемент работает.

+0

есть много других стилей, все они должны быть записаны в JavaScript файл и добавил с ним или – Happy

0

Вы можете использовать что-то вроде $('body').addClass('popup-bg');

+0

не могут использовать его, после обновляются – Happy

1

Вы можете создать <style> элементы, добавить их к документа, а затем используйте

$('#styleId').text('.something { display: none; }'); 

или что-то еще.

$('body').append($('<style/>').attr("id", "myNewStyle")); 
$('#myNewStyle').text('.something { whatever: 10px; }'); 

Вы можете добавить блоки стиля к голове, если хотите.

редактировать — многострочного блока стиля:

$('#myNewStyle').text(
' .something { ' + 
' font-size: 12px; ' + 
' font-weight: normal; ' + 
' color: #e0f0e0; ' + 
' }' 
); 
+0

это не работает с многострочным текстом – Happy

+0

Ну, @Happy, это потому, что Javascript не разрешает многострочные строки. Вы можете собрать длинную строку в Javascript, добавив их вместе. Если в строках есть разделители строк, это будет работать нормально (хотя я не уверен, какая разница). – Pointy

2

Если класс определен в вашей структуре/разметки с классом, то:

$(".popup-bg").css({ position: fixed, 
     left: 0, 
     top: 0, 
     width: 100%, 
     height: 100%, 
     background: #eee 
}); 

или добавить его к конкретному тег:

$("body").css({ position: fixed, 
      left: 0, 
      top: 0, 
      width: 100%, 
      height: 100%, 
      background: #eee 
    }); 

И для применения ЭСТ это:

var style = document.createElement('style'); 

style.innerText = '.popup-bg{ position: fixed, 
      left: 0, 
      top: 0, 
      width: 100%, 
      height: 100%, 
      background: #eee 
    }'; 

document.head.appendChild(style); 
+0

Я думаю, он хочет создать новые '