摆脱视频元素

时间:2020-08-07 20:59:11

标签: javascript html jquery video

在CMS中,我想将视频设置为DIV中的背景。为此,我使用以下3条jquery行:

1. $(top.activeBaseElement).css('background-image', 'url(' + obj_backgroundImage + ')');
2. $(top.activeBaseElement).addClass('fcontent-video-bg');
3. $(top.activeBaseElement).prepend(' <video class="vid-bg-cont" loop muted autoplay poster="..."><source src="' + obj_backgroundImage + '" type="video/mp4"></video>' );

top.activeBaseElement 是应获取BG视频的DIV容器:

<div class="fcontent fcontent-video-bg" ...>
  <video loop muted autoplay poster="...">
    <source src="..." type="video/mp4">
  </video>
...

第1行仅将视频作为背景图像写入相应对话框中的预分配/显示。 第2行添加了一些样式的类,第3行添加了DIV中的视频容器。 很棒!

要再次删除视频,请使用以下3行:

1. $(top.activeBaseElement).css('background-image', '');
2. $(top.activeBaseElement).removeClass('fcontent-video-bg');
3. $(top.activeBaseElement + ' > video').remove();

第3行导致以下错误:未捕获的错误:语法错误,无法识别的表达式:[object Object]> video

似乎DOM删除不支持将视频作为元素?

我也尝试过$(top.activeBaseElement + ' > .vid-bg-cont').remove();或仅尝试$('.vid-bg-cont').remove();

什么都不起作用...

我该如何再次摆脱视频元素? 我绝望了,什么也没找到 谢谢,问候你

2 个答案:

答案 0 :(得分:0)

好的,我认为这与video元素本身无关。 我现在在视频元素周围放置了DIV:

<div class="fcontent" ...>
  <div class="vid-bg-cont">
    <video ...>
      <source... />
    </video>
  </div>
  <div>
    ... regular content in fcontent
  </div>
  <div>
    ... still more regular content in fcontent
  </div>
</div>

$(top.activeBaseElement + ' > .vid-bg-cont').remove();也不起作用(有错误)

$(top.activeBaseElement + ' > .vid-bg-cont').empty();不起作用(没有错误,但是vid-bg-cont的内容仍然存在!)

$(top.activeBaseElement).remove();起作用并删除了完整的fcontent-container,$(top.activeBaseElement).empty();也起作用并清除了fcontent-container(仅此2作为测试)...

我认为这是由于引用导致的-但我不明白... (我正在使用jquery2。我不确定与此是否有任何关系。出于兼容性原因,我不能并且现在不想更新jquery ...)

答案 1 :(得分:0)

代码的问题可能是因为,您试图将jQuery对象与字符串连接在一起。这就是为什么它给出了错误。

只需用以下内容替换第三行:

$(top.activeBaseElement).children('.vid-bg-cont').remove();

相关问题