如何处理并获取接口返回带dom标签的字符串中的img标签的src属性并且遍历添加监听事件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

记录自己第一次遇到这个场景:页面中的内容和文字图片均由后端返回,包含了dom节点

`<p>阿士大夫撒地方</p>
        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAGXRFWHRTb2Z0d284lh19twAAAABJRU5ErkJggg==" alt="" srcset="">
        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAABQCAYAAACqCH1tAAAACXBIWXMAAAsTAAALSp9S1Un5Px3DBF6wjYuLcr/VRUvZ9LDf+UBJH5YluaNAAAAAElFTkSuQmCC" alt="" srcset="">`
       

   我需要获取图片中的src,将他们存入数组中供vantUI中的 ImagePreview 图片预览组件使用,并且添加监听事件,下面是处理方法。

       


async query(){
    let res = await api({a:111b:111})
    this.xxx = res.data.xxx
    this.$nextTick(() => {
            // 获取img图片URL
            let imgs = document
              .getElementsByClassName("content-text")[0]
              .getElementsByTagName("img");

            for (let i = 0; i < imgs.length; i++) {
              this.imgsList.push(imgs[i].src);
              imgs[i].addEventListener("click", () => {
                this.startPosition = i;
              });
            }
        });

}


总结

因为无法控制返回的字符串,所以通过操作DOM元素来获取元素和属性,并且遍历后添加监听事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值