javascript - 使用 jQuery 替换 HTML 元素内的文本
问题描述
我有一个页面模板,它使用 PHP 从外部网站提取数据,并使用 HTML 呈现页面布局。
某些被拉取的数据无法在源头进行更改。所以我需要在实际网站上更改它,因为它是渲染的。
我需要更改的数据本质上是一个“状态”。并且编码如下:
<span id="property-status"><?php echo $property['status']; ?></span>
来自源的状态分为三种类型,它们是:
已售出、已关闭和处于活动状态
我需要将 SOLD 和 CLOSED 更改为 FUNDED。
问题是当开发人员无法最终更改它时,我如何使用 jQuery 来实现这一点。
解决方案
如果是一个字符串。尝试使用正则表达式/\>(.*?)\</gmi
和String.replace()
函数
var obj ={'sold':'found','closed':'found'};
var a ='<span id="property-status">CLOSED</span>';
var res = a.replace(/\>(.*?)\</gmi,((a,b)=> '>'+obj[b.toLowerCase()]+'<'));
console.log(res)
或使用 html trim()
删除不需要的空间
var obj ={'sold':'found','closed':'found'};
$('#property-status').text(obj[$('#property-status').text().trim().toLowerCase()])
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span id="property-status">sold </span>
推荐阅读
- excel - IF Then 语句中的 VBA 数组公式和目标搜索
- javascript - TypeError:在未实现接口位置的对象上调用了“分配”
- yii2 - Yii2 唯一验证者加入错误
- nginx - 如何在 IBM bluemix Cloud Foundry 上设置 nginx.conf 以进行单页应用程序路由以及如何设置 url 重写以支持 spa 路由?
- javascript - 如何使用 Django 显示日志
- node.js - NodeJS Socket.io - 发送有效,接收无效
- java - 如果在 Spring Boot 中同时出现多个请求,如何保持?
- blueprism - 无法在蓝色棱镜中加载 OTAClient.dll
- c# - 在 LINQ 中搜索列表时性能缓慢
- dart - Flutter-点击照片后如何将相机保持在屏幕上?