gpt4 book ai didi

javascript - 为什么 document.querySelector 不适用于伪元素?

转载 作者:太空狗 更新时间:2023-10-29 14:10:51 25 4
gpt4 key购买 nike

我正在玩伪元素和 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>

有谁知道为什么这不起作用?

最佳答案

如果你想从 javascript 中设置伪元素的样式,你必须使用 CSSOM 来注入(inject)规则。这不是微不足道的,但它是可能的。

var sheet = document.styleSheets[0]; //get style sheet somehow
var rules = sheet.rules;
sheet.insertRule('div:before { display: none; }', rules.length);

a slightly modified example from this article

CCSOM Reference

关于javascript - 为什么 document.querySelector 不适用于伪元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com