javascript - 删除由::before 伪选择器添加的元素

标签 javascript jquery html css

我有以下情况:(样式在 SASS 中完成,省略了不必要的样式。)

.header {
  ...
  &::before {
    ...
    position: absolute;
    height: 0.5rem;
    ...
  }
}

这会在应用程序的菜单栏顶部创建一个栏。在某些情况下,必须删除此栏。我读过类似 these 的问题,但没有成功。删除由::before 选择器添加的此栏的最佳方法是什么?

最佳答案

只有 CSS 可以去除伪元素,所以你需要有一个 display:none; 之前的类。首先在 CSS 中声明该类:

.header {
  ...
  &::before {
    ...
    position: absolute;
    height: 0.5rem;
    ...
  }

  &.no-before::before{
    display:none;
  }
}

然后,当你想删除它时:

$('.header').addClass('no-before'); //Remove before
$('.header').removeClass('no-before'); //Re-add before

关于javascript - 删除由::before 伪选择器添加的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28608023/

相关文章:

javascript - react : Access ref passed between components via render props

javascript - jquery slidetoggle 不会保持打开状态

javascript - 我的 id 值在传递到其他 Blade 后未从第一个数字读取数字 0

jquery - jQuery随机YouTube视频生成器[HELP]

PHP - 在选择文件图像中显示图像名称

javascript - 如何使 div 垂直居中?

javascript - 如何在 Visual Studio 中从数据库(使用 C#)获取数据时使 HTML 行可点击

css - 导航菜单中的对齐方式

javascript - Mootools - Fx.Tween 与 Fx.Morph

html - IE7 滚动条不起作用