怎么获取富文本传过来之后的元素?

WytheChan
  • 766

富文本的内容是从后台请求来的,然后我前端插入页面之中。
我插入的地方是一个article标签里,现在我的需求是插入后获取里面的视频标签进行设置禁止播放条和自动播放
如图,红框里的就是我已经插入的富文本内容,蓝框就是我想要获取的目标,我是在插入成功后才获取的,而已也试过设置延时延时器来获取也不行,都是为空,获取里面其他的DOM也是失败的。
图片描述

直接打印article标签是可以清楚见到有children的:

 setTimeout(function(){
    console.log($('#content-2'))
 },3000)

图片描述

但是我改成打印里面的video就获取不到:

 setTimeout(function(){
    console.log($('#content-2').find('video'))
 },3000)

图片描述

我是想禁止视频标签的播放条和自动播放,但不知道为啥获取不了

回复
阅读 1.7k
1 个回答

你试下这样写看看

let container = $('#content-2')

function findVideo(cb,count) {
  setTimeout(function () {
    count--
    let result = container.querySelectorAll('video')
    if (result.length === 0) {
      if(count){
        findVideo(cb)
      }else{
        console.log('找不到。。。')
      }
    } else{
      cb(result)
    }
  }, 1000)
}

findVideo(function (videos) {
//你想做的操作
},10)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏