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