如果视频源通过jQuery为空,如何隐藏div?

时间:2018-11-18 15:24:37

标签: javascript jquery

如果src为空,如下所示,我想隐藏video_wrapper类

<div class="video_wrapper" style="width: 100%; height: 100%; display: none;">
  <video id="df-video" playsinline="" webkit-playsinline="" style="height: 100%; width: 100%;"> 
    <source  src="" type="video/mp4">
  </video>
</div>

我尝试了以下jquery,但是当src具有任何视频格式时,它也会隐藏。

if ( jQuery('video[src][src=""]') )
   jQuery(".video_wrapper").hide();
else
   jQuery(".video_wrapper").show();

https://jsfiddle.net/v87b5feq/

2 个答案:

答案 0 :(得分:2)

实际上,您正在寻找内部有video元素的source元素,该元素的属性src为空:

$('video source[src=""]')

以下是基于您的代码的示例:

$('video source[src=""]').each(function() {
  $(this).parents('.video_wrapper').hide();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="video_wrapper" style="width: 100%; height: 100%;">
  <video id="df-video" playsinline="" webkit-playsinline="" style="height: 100%; width: 100%;"> 
    <source  src="" type="video/mp4">
  </video>
</div>

<div class="video_wrapper" style="width: 100%; height: 100%;">
this will not be hidden
  <video id="df-video" playsinline="" webkit-playsinline="" style="height: 100%; width: 100%;"> 
    <source  src="b" type="video/mp4">
  </video>
</div>

答案 1 :(得分:0)

我认为它应该可以工作,但我尚未对其进行测试

var video = querySelector('#df-video'); 
 if(video.srcObject == null){
   document.getElementById('yourdivid').style.display = "none";
 }