如果类不可见,则显示HTML show元素

时间:2019-06-28 14:06:43

标签: jquery html css

我用很多jQuery构建了这个精心制作的页面,它基于类来隐藏和显示元素。

要想出一个主意:

<p class='lookup'>You can lookup all the values.</p>

如果用户无法执行查找,我只需执行

$('.lookup').hide() ;

在jQuery中。一切正常,一切都很好。

现在,我仅在HTML中添加一个简单的注释。但是,关于“查找”类是否可见的说明是不同的。 (基本上是一种其他方式。)

<p class='lookup'>Show me when class lookup is visible</p>
<p ????>Show me when class lookup is not visible</p>

在html / css甚至jQuery(但在现有jQuery之外)中是否有一个非常简单的解决方案或技巧,可在完成$('.lookup').hide() ;时显示一个段落,而如果$('.lookup').show() ;则隐藏完成了吗?

我只是很好奇,我已经在使用一个额外的类'noLookup'并将代码添加到现有的jQuery中,但是我感觉应该有一个基本的解决方法/解决方案,而我只是忽略了这一点。

3 个答案:

答案 0 :(得分:1)

尝试使用getUserProfiles() { this.userService.getProfiles() .pipe( switchMap((ps: ClientProfile[]) => { const obs$ = ps.map(p => { return this.userService.getUser(p.userId) .pipe( map(user => ({user, profile: ps})) ); }); return forkJoin(obs$); // I NEED TO RETURN AN OBSERVABLE HERE: // {user: u, ...ps} }), tap(result => //result will be an array of {user, profile}) ) .subscribe(_ => doSomething(_)) 属性选择器检查style元素是否隐藏:

.lookup
$("#chk").on("change", function() {
  var lookup = $('.lookup');
  if ($(this).is(':checked')) {
    lookup.show();
  } else {
    lookup.hide();
  }
});
.no-lookup {
  display: none;
}

.lookup[style*="display: none;"] ~ .no-lookup {
  display: inherit;
}

答案 1 :(得分:0)

也许这个例子可以帮助您:

$(function () {
  $(".lookup1, .lookup2").hide();

  $(".something1, .something2").bind("click", function () {
    $(".lookup1, .lookup2").hide();        

    if ($(this).attr("class") == "something1")
    {
      $(".lookup1").show();
    }
    else
    {
      $(".lookup2").show();
    }
  });

});

http://jsfiddle.net/cEJtA/

答案 2 :(得分:0)

第一个参数是执行时间,默认为400毫秒。 jQuery hide()函数的第二个参数是回调。所以你可以这样写:

$('.lookup').hide(400, $('.otherElement').show());

现在,它将在.hide完成后运行。

与show函数完全相同。

我希望这会有所帮助!