【问题标题】:Using jQuery to show/hide an :after pseudo class [duplicate]使用 jQuery 显示/隐藏 :after 伪类 [重复]
【发布时间】:2017-01-10 06:12:21
【问题描述】:

我有一个显示搜索结果的 div,访问者主面板。我上面有一组过滤器。当我通过 ajax 获取新结果时,我想在搜索结果的顶部显示一个半透明面板。

$('#visitors-main-panel:after').hide();
.visitors-main-panel {
  position: relative;
}
.visitors-main-panel:after {
  content: " ";
  z-index: 10;
  display: block;
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.3);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-sm-9 visitors-main-panel">
  Initial search results
</div>

但这似乎不起作用。

【问题讨论】:

  • 你不能,伪元素不是 dom 的一部分,也不能通过 jQuery 访问,按照建议,在容器本身上切换一个类,让 CSS 自己处理 ;)

标签: jquery css


【解决方案1】:

你不能。您应该做的是在 #visitors-main-panel 上切换一个类,您在 CSS 中使用该类来定位伪元素的 display

【讨论】:

  • 其实提一下你的来源很好,用谷歌不是在这里回答问题的方法 m8 :D stackoverflow.com/questions/11354270/…
  • @RuslanAbuzant 你在哪里看到谷歌在这个答案?这个答案指向一个好的做法,可能需要更多解释才能为 OP 提供资源
  • 请不要辩论,您只是从我引用的链接中复制粘贴了一个答案,完全符合@TJ Vanholl 在 2012 年 7 月 6 日 0:32 的回答。而且我什至没有投票否决你的答案;)ps>谷歌jquery hide :after,点击第一个链接,复制粘贴接受的答案..这是你使用的技术。
  • @RuslanAbuzant 我也对这个问题发表了评论。这是一个多余的问题,没有其他合适的答案。而不是去'这是一个复制/粘贴,建议关闭这个问题,以获得过去几年站在这里的数百个类似问题中的任何一个的副本......保持冷静,这只是一个人们互相帮助的论坛: )
  • 感谢大家的帮助 ;-)
【解决方案2】:
<style>
.uk-hidden { display: none; }
</style>

$('.visitors-main-panel:after').addClass('uk-hidden');

ps> 你的 CSS 选择器有一个引号作为开始,一个双引号作为结束,确保你使用引号或双引号。

ps2> 你的 CSS 定义了一个类,你的 jQuery 选择器试图通过它的 ID 访问一个元素。

【讨论】:

猜你喜欢
  • 2012-07-06
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 2017-11-04
  • 2011-08-14
  • 1970-01-01
  • 2011-08-20
相关资源
最近更新 更多