JQuery найти и заменить - PullRequest
       11

JQuery найти и заменить

0 голосов
/ 01 июня 2011

Вот моя строка.

<div id='content'>here is my text {{ and some more }}</div>

Я хочу заменить все {{тэгами

и}} тэгами 
.

, чтобы строка вывелавот так.

<code><div id='content'>here is my text <pre> and some more 

Мне нужно сделать это с помощью jquery.у меня так далеко.

var textarea=$('#content').text();
$(".addesc1").text(textarea).html().replace(/{{/g, "<pre>");

Какая функция лучше всего использовать.

Ответы [ 3 ]

2 голосов
/ 01 июня 2011
<code>$(".addesc1").text(
    $('#content').text().replace(/{{/g, "<pre>").replace(/}}/g, "
") );
2 голосов
/ 01 июня 2011

Вы можете сделать что-то простое, например:

<code>var textarea=$('#content'); 
textarea.html(textarea.html().replace("{{","<pre>")).html(textarea.html().replace("}}","
"));

, как показано здесь: http://jsfiddle.net/MarkSchultheiss/psSwE/

Это говорит:« Возьми мой объект jQuery«textarea» и замените «{{», а затем возьмите этот набор результатов и замените «}}».

Я бы предложил изменить имя вашей переменной, так как «var textarea» просто может запутать будущих разработчиков(заставьте их задуматься о том, что это нехорошо).

РЕДАКТИРОВАТЬ: обратите внимание, что использование jQuery "цепочки" является одной из самых крутых вещей об этом.

0 голосов
/ 01 июня 2011

Вы используете регулярное выражение, что является своего рода избыточным убийством.

Я предлагаю:

txt.split('{{').join('<pre>');

Затем, используя jQuery, вы можете заменить содержимое объекта таким:

var myobject = $('selector');
myobject.html(myobject.html().split('{{').join('<pre>'));
...