Как развернуть текст с помощью jQuery?

Как развернуть текст от HTML-тэга с помощью jQuery?

Например, как преобразовать этот HTML

<p>A <i>sentence</i> with <b>bold words</b>.</p>

в (т.е. удаляют теги полужирного начертания),

<p>A <i>sentence</i> with bold words.</p>

использование только jQuery и никакого regex?

18
задан czuk 9 March 2010 в 12:55
поделиться

4 ответа

Вы можете сделать это:

  $("b").each(function() {
    $(this).replaceWith(this.childNodes);
  });

Примечание: это сохраняет весь HTML-код, который у вас есть внутри, где .text () может его преобразовать .

Если вы хотите буквально просто убрать , вы можете использовать ответ Cheeso немного проще в jQuery 1.4 +:

$("p").html(function(i,h){ return h.replace(/<b>/g,'').replace(/<\/b>/g,''); }); 
39
ответ дан 30 November 2019 в 06:19
поделиться

Чтобы развернуть только текст и ничего больше, вы можете использовать:

$("b").replaceWith($("b").text());
2
ответ дан 30 November 2019 в 06:19
поделиться

Я думаю, что полагаться только на jQuery в этом случае излишне усложняет ситуацию. Проще было бы использовать метод replace, который принимает либо обычную строку, либо регулярное выражение.

Использование regex, как правило, является оптимальным в данном случае, поскольку вы хотите получить несколько замен, имеющих примерно одинаковый шаблон.

0
ответ дан 30 November 2019 в 06:19
поделиться

Как вы это делаете, зависит от дополнительных ограничений в вашей ситуации.

Нет общего способа разблокировать жирный шрифт.

Если теги всегда , тогда вы можете сделать это

var h = $(elementSelector).html;
h = h.replace("<b>","");
h = h.replace("</b>","");
$(elementSelector).html(h);

Я не уверен, почему вам не нравится Regex.

4
ответ дан 30 November 2019 в 06:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: