我正在玩伪元素和javascript,但有些我不能用javascript来设置它。
var div = document.querySelector(":before");
div.style["display"] ="none";
div{
width:200px;
height:200px;
background:red;
position:relative;
}
div:before{
position:absolute;
content:'';
top:0;
right:-100px;
width:100px;
height:100%;
background:green;
}
<div></div>
有谁知道为什么这不起作用?
答案 0 :(得分:8)
如果你想从javascript设置伪元素的样式,你必须使用CSSOM来注入规则。这不是微不足道的,但它是可能的。
var sheet = document.styleSheets[0]; //get style sheet somehow
var rules = sheet.rules;
sheet.insertRule('div:before { display: none; }', rules.length);