小程序rich-text组件如何改变内部img图片样式的方法


Posted in Javascript onMay 22, 2019

一、起因

小程序中有一个页面,很奇葩,是通过后端传过来的整段HTML字符串展示内容的,那么我们暂时叫这个页面为content,传过来之后,他里面的图片样式是不固定的,有的大,有的小,有的有style有的没有,那我怎么能让他统一展示成一样的样式呢?

二、办法

思前想后,我觉得还是正则比较靠谱,把content里面所有的img标签筛选出来,把里面有style的、有width的、有height的、全部删除掉,最后在统一加上我们想要的样式,最终代码如下:

<RichText nodes={content} />

下面是HTML字符串处理过程

let html = content
      .replace(/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
      .replace(/<p>/ig, '<p style="font-size: 15Px; line-height: 25Px;">')
      .replace(/<img([\s\w"-=\/\.:;]+)((?:(height="[^"]+")))/ig, '<img$1')
      .replace(/<img([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<img$1')
      .replace(/<img([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<img$1')
      .replace(/<img([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<img$1')
      .replace(/<img([\s\w"-=\/\.:;]+)/ig, '<img$1 style="width: 100%; border-radius: 8Px;"');

最终实现了我们想要的样式统一的效果啦~

三、总结

我有想过直接在less里面取到img,然后改变它的样式,这种办法在h5中是可行的,但是在小程序中不起作用!因为在小程序中会是一整个rich-text标签,里面的内容样式无法修改。所以采用这种办法啦~~能够解决问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在视频前插入广告
Nov 20 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
基于jquery的时间段实现代码
Aug 02 Javascript
JavaScript判断变量是否为undefined的两种写法区别
Dec 04 Javascript
js闭包引起的事件注册问题介绍
Mar 29 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
Dec 23 Javascript
canvas实现探照灯效果
Feb 07 Javascript
解析jquery easyui tree异步加载子节点问题
Mar 08 Javascript
JS实现的类似微信聊天效果示例
Jan 29 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 Javascript
JavaScript中的 new 命令
May 22 #Javascript
element-ui组件中input等的change事件中传递自定义参数
May 22 #Javascript
原生JS实现列表内容自动向上滚动效果
May 22 #Javascript
小程序如何使用分包加载的实现方法
May 22 #Javascript
原生js实现trigger方法示例代码
May 22 #Javascript
koa router 多文件引入的方法示例
May 22 #Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 #Javascript
You might like
php中实现记住密码自动登录的代码
2011/03/02 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
python实现无边框进度条的实例代码
2020/12/30 Python
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
毕业生工作求职信
2014/06/30 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers