You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在WordPress中用JavaScript将破折号替换为<br>时遇到问题

问题:替换破折号为<br>标签出现异常

尝试将.member__designation元素内的所有破折号替换为<br>标签,但执行代码后效果异常。

已尝试代码

var strNewString = $('.member__designation').html().replace(/-/g,'&lt;br&gt;');
$('.member__designation').html(strNewString);

相关截图

  • 原始HTML结构:
    原始HTML结构
  • 替换前效果:
    替换前效果
  • 替换后异常效果:
    替换后异常效果

解决思路与方案

1. 修正转义字符错误

你代码里用了&lt;br&gt;,这会被浏览器解析成**文本<br>**而不是换行标签,直接用<br>即可:

var strNewString = $('.member__designation').html().replace(/-/g,'<br>');
$('.member__designation').html(strNewString);

2. 匹配正确的破折号类型

页面中的破折号可能不是普通的ASCII短破折号(-),而是长破折号(—)或半角破折号(–),正则要覆盖这些变体:

// 匹配所有常见破折号类型
var strNewString = $('.member__designation').html().replace(/[-—–]/g,'<br>');
$('.member__designation').html(strNewString);

3. 避免破坏现有HTML结构

直接操作html()可能会打乱元素内的嵌套标签(比如截图里的<span>),可以只处理纯文本节点:

$('.member__designation').contents().each(function() {
  if (this.nodeType === 3) { // 仅处理文本节点
    $(this).replaceWith(this.nodeValue.replace(/[-—–]/g, '<br>'));
  }
});

内容的提问来源于stack exchange,提问作者Gil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:30:51