小程序rich-text組件如何改變內(nèi)部img圖片樣式的方法
一、起因
小程序中有一個(gè)頁面,很奇葩,是通過后端傳過來的整段HTML字符串展示內(nèi)容的,那么我們暫時(shí)叫這個(gè)頁面為content,傳過來之后,他里面的圖片樣式是不固定的,有的大,有的小,有的有style有的沒有,那我怎么能讓他統(tǒng)一展示成一樣的樣式呢?
二、辦法
思前想后,我覺得還是正則比較靠譜,把content里面所有的img標(biāo)簽篩選出來,把里面有style的、有width的、有height的、全部刪除掉,最后在統(tǒng)一加上我們想要的樣式,最終代碼如下:
<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;"');
最終實(shí)現(xiàn)了我們想要的樣式統(tǒng)一的效果啦~
三、總結(jié)
我有想過直接在less里面取到img,然后改變它的樣式,這種辦法在h5中是可行的,但是在小程序中不起作用!因?yàn)樵谛〕绦蛑袝?huì)是一整個(gè)rich-text標(biāo)簽,里面的內(nèi)容樣式無法修改。所以采用這種辦法啦~~能夠解決問題。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Jquery作者John Resig自己封裝的javascript 常用函數(shù)
Jquery作者John Resig自己封裝的常用函數(shù), 大家可以參考下。2009-11-11JS定時(shí)檢測任務(wù)任務(wù)完成后執(zhí)行下一步的解決辦法
這篇文章主要介紹了JS定時(shí)檢測任務(wù)任務(wù)完成后執(zhí)行下一步的解決辦法,需要的朋友可以參考下2016-12-12JavaScript實(shí)現(xiàn)網(wǎng)頁購物車
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁購物車,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06js獲取GridView中行數(shù)據(jù)的兩種方法 分享
這篇文章介紹了js獲取GridView中行數(shù)據(jù)的方法,有需要的朋友可以參考一下2013-07-07JS實(shí)現(xiàn)二維數(shù)組元素的排列組合運(yùn)算簡單示例
這篇文章主要介紹了JS實(shí)現(xiàn)二維數(shù)組元素的排列組合運(yùn)算,結(jié)合實(shí)例形式分析了javascript針對二維數(shù)組的遍歷、排列組合運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01laypage+SpringMVC實(shí)現(xiàn)后端分頁
這篇文章主要為大家詳細(xì)介紹了laypage+SpringMVC實(shí)現(xiàn)后端分頁,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果
這篇文章主要給大家介紹了關(guān)于利用bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。2017-06-06javascript中for/in循環(huán)及使用技巧
如果您希望一遍又一遍地運(yùn)行相同的代碼,并且每次的值都不同,那么使用循環(huán)是很方便的,本篇文章給大家介紹javascript中for/in循環(huán)及使用技巧 ,需要的朋友可以參考下2015-09-09