如果页面中存在另外两个类之一,则删除特定类的一个元素

时间:2012-10-06 21:57:27

标签: jquery

我有一个处理视频的Drupal网站。视频成功处理后,视频会在适当的页面中填充,旁边会显示一些社交媒体链接。但是当视频正在进行转码或转码失败时,系统会在视频最终显示的同一页面上提供消息,并显示这些社交链接,尽管还没有任何值得分享的内容。我想删除它们。

当视频处理时,会显示一条带有.video-inprogress类的消息。当它失败时,它会显示一个类为.video-conversion-failed的div。我想针对这两者,当它存在时,完全删除社交链接div(.service-links)。

这是我试图使用的代码;它无声地失败了:

if (jQuery('.video-inprogress, .video-conversion-failed').length) {
  jQuery('.service-links').remove();
};

关于我做错的任何指示? (我使用'jQuery'而不是'$'来解决此站点中存在的另一个冲突,我继承了这个冲突,并且使用无关的JS和jQuery代码进行了很好的解决。)

2 个答案:

答案 0 :(得分:1)

尝试将您的代码放在文档就绪处理程序中:

(function($){
   $(document).ready(function(){
      if ($('.video-inprogress, .video-conversion-failed').length) {
           $('.service-links').remove();
      };
   })
})(jQuery)

答案 1 :(得分:0)

尝试使用变量作为两个类的长度:

var n = jQuery('。video-inprogress,.video-conversion-failed')。length;

if (n >= 1) {
  jQuery('.service-links').remove();
};

如果仍然存在问题,请尝试扩展.length语句:

var n = jQuery('.video-inprogress').length;
var n += jQuery('.video-conversion-failed').length;