在jQuery或基本的javascript中可以获取所有元素:after或:之前的伪元素?
我知道getcomputedstyle,但是这会返回所有元素,包括或不使用:before或:after伪元素。
由于
修改
类似的东西:
$("a:before").each(function () {
console.log("element with :before pseudo-element")
});
答案 0 :(得分:1)
不。生成的内容元素实际上不是DOM的一部分。你不能使用JS直接挂钩它们。它们仅供演示。
你可以对可能是伪元素的父母或兄弟姐妹等的实际元素进行处理,并以这种方式进行更改。
查看下面链接的BoltClock问题,也许你可以为所有伪元素设置一个公共属性,然后根据这个属性尝试用jquery选择它们。
答案 1 :(得分:0)
给你想要选择'has-before'之类的'a'标签并以这种方式挂钩?
答案 2 :(得分:0)
这是可能的,但是以一种圆润的方式!
查看此演示:http://jsfiddle.net/BE47z/1/
逻辑如下:
:before
或:after
定义的所有类 - 这是通过遍历document.styleSheets
对象来完成的(您可以将代码更改为仅捕获{ {1}}或:before
等......根据需要):after
变为.a:before
<强>代码强>
<强> HTML 强>
.a
<强> CSS 强>
<div class="element classWithoutBefore">No :before</div>
<div class="element classWithBefore">Has :before</div>
<div class="element class2WithBefore">Has :before</div>
<div class="element class2WithoutBefore">No :before</div>
<强> JS 强>
.classWithoutBefore {
}
.class2WithoutBefore {
}
.classWithBefore:before {
}
.class2WithBefore:before {
}
.a:before, .b:before {
}