Например, у меня есть текст, который похож на {Lorem}
всем DOM. Как мне изменить все экземпляры
<p>Lorem ipsum dolor imet</p>
?
Я пробую это:
var loremReplace = '<p>Lorem ipsum dolor imet</p>';
var content = $('body').html().replace(/\{Lorem\}/g, loremReplace);
$('body').html(content);
Но, очевидно, я делаю что-то неправильно, потому что он не работает. Кроме того, как мне это сделать, если {Lorem}
существует вне <body>
, например, в <head>
?
Вам действительно не нужно обрезать фигурные скобки в функции замены:
var loremReplace = '<p>Lorem ipsum dolor imet</p>';
var content = $('body').html().replace(/{Lorem}/g, loremReplace);
$('body').html(content);
Для того, чтобы заменить выражение внутри головы, вы можете просто выбрать head
тег и выполнить с body
:
var headReplace = 'Lorem ipsum dolor imet';
var headContent = $('head').html().replace(/{Lorem}/g, headReplace);
$('head').html(headContent);
Смотрите это в действии: http://jsbin.com/meqicuto/2/edit
head
частью. Похоже, проблема была в том, что она конфликтовала с другими сценариями. Решил это с помощью $(window).load()