Заменить СТИЛЬ контента Javascript HTML - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть переменная JavaScript:

var s =   
 "<html><head><style>body{a:b;c:d}</style></head><body></body></html>";

Сначала я извлекаю содержимое внутри тегов <style>:

s = s.split(/(<style[^>]*>|<\/style>)/i)[2]; 

// s == "body{a:b;c:d}";

Затем я что-то делаю с s ипосле манипуляции мне нужно добавить его к тегам <style>.

Как вставить s между <style> и </style>?

Пример: Modified var s = "body{x: h; f: l;} ";

, поэтому мне нужно результирующее содержимое, например, так:

 "<html><head><style>body{x:h;f:l;}</style></head><body></body></html>";

Обновление : jQuery разрешен - но толькоманипуляции со строками разрешены.Чистые решения JavaScript имеют первый приоритет.

Ответы [ 3 ]

3 голосов
/ 25 ноября 2011
var s  = "<html><head><style>body{a:b;c:d}</style></head><body></body></html>";
var b = s.split(/(<style[^>]*>|<\/style>)/i)[2]; 
s = s.replace(b,"body{x:h;f:l;}");

наконец, s - это то, что вы хотите.

0 голосов
/ 25 ноября 2011

Используйте нижеуказанный код

var someHTML = "<html><head><style>body{a:b;c:d}</style></head><body></body></html>";
var styleContents = someHTML.split(/(<style[^>]*>|<\/style>)/i)[2];
document.getElementById('style').innerHTML = styleContents;
0 голосов
/ 25 ноября 2011

Работает ли это для вас:

var s  ="body{a:b;c:d}";
    var newS = s.replace("body{a:b;c:d}", "body{x:h;f:l;}");
    alert(s);
    alert(newS);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...