使用getComputedStyle确定何时触发了伪元素,而不仅仅是出现在元素上?

问题描述 投票:0回答:1

我已经问过问题How to detect with CSS selector if icon inserted with ::before is displayed?它作为此副本的副本被关闭:How to Determine if ::before is applied to an element?但这不是我想要的。事实是,这仅使我可以访问类shopping-cart中存在于元素上的伪元素之前的值:

var elem = document.querySelector(".shopping-cart");
var c = window.getComputedStyle(elem,"before").getPropertyValue("content");
console.log(c);

上面的代码总是返回c的值,无论是否应用它。如果有的话,我会得到c的值(我希望这样):

<i class="shopping-cart"> ::before </i>

但是如果我有c,我也会得到相同的c值(我不希望那样-在这种情况下,我希望c具有值:none):

<i class="shopping-cart"></i>

有人可以对此发表一些想法吗?

我的最终目标是计算购物车图标是否显示在页面上。唯一表明这一点的是:当我在DOM中时显示它:

<i class="shopping-cart"> ::before </i>  

并且当我在DOM中时,它不会显示在页面上:

<i class="shopping-cart"></i>  

对不起,我仍然没有得到它:(

我已经问过问题,如果显示带有:: before插入的图标,如何使用CSS选择器进行检测?它与以下内容重复:如何确定:: before是否应用于...

javascript css css-selectors
1个回答
0
投票

因为c will

© www.soinside.com 2019 - 2024. All rights reserved.