从元素CSS之前删除内容

时间:2014-12-03 11:02:17

标签: jquery css pseudo-element

如何使用Jquery以编程方式删除此“content”?

body:before {
   content: '';
   display: inline-block;
   height: 100%;
   vertical-align: middle;
   margin-right: -0.25em;
}

3 个答案:

答案 0 :(得分:4)

不可能直接访问jQuery中的伪元素,因为它们不是DOM的一部分。

但是作为一种解决方法,您可以将psuedo元素基于正文上的类,例如:

body:before {
   content: '';
   display: inline-block;
   height: 100%;
   vertical-align: middle;
   margin-right: -0.25em;
}
body.foo:before { 
    display: none;
}

然后在jQuery中隐藏元​​素:

$('body').addClass('foo');

答案 1 :(得分:0)

你可以覆盖它:

document.styleSheets[0].addRule('body:before', 'display: none !important;');

答案 2 :(得分:0)

使用JavaScript,您可以修改body:before的{​​{1}}媒体资源,并将其设置为display

检查元素以查看修改后的规则。



none

var ss = document.styleSheets;

for (i = 0; i < ss.length; i++) {
  var rules = ss[i];
  for (j = 0; j < rules.cssRules.length; j++) {
    var r = rules.cssRules[j];
    if (r.selectorText == "body:before") {
      console.log('Before: ' + r.cssText);
      r.style.display = 'none';
      console.log('After: ' + r.cssText);
    }
  }
}
&#13;
&#13;
&#13;