如何移除字符串中‘ - ’前的所有内容?代码失效求助
问题解决:移除指定文本前的内容
问题分析
你的代码逻辑能正确提取- 之后的内容,但没有将处理后的文本重新更新到DOM元素中,所以页面上看不到变化。另外可以增加容错处理,避免文本中不存在目标分隔符时出现异常。
修正后的代码
// 获取目标元素并缓存,避免重复查询DOM const $titleLink = $('.custom-card-title a'); // 获取元素文本内容 let name = $titleLink.text(); // 按" - "分割内容,取后半段;若无分隔符则保留原文本 const newName = name.split(" - ").length > 1 ? name.split(" - ").pop() : name; // 将处理后的文本赋值回页面元素 $titleLink.text(newName);
代码说明
- 缓存jQuery对象
$titleLink,提升代码执行效率 - 增加判断逻辑:当文本中不存在
" - "时直接保留原内容,防止出现意外结果 - 核心步骤:调用
text(newName)将处理后的内容同步到页面,这是你之前代码缺失的关键操作
效果验证
原HTML中的<a>标签文本会从Hi - 1-1/32 HELLO变为1-1/32 HELLO,完全符合需求。
内容的提问来源于stack exchange,提问作者springoftwentyone
相关产品推荐
相关产品推荐

