Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确定是否将::before应用于元素?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 如何确定是否将::before应用于元素?

Javascript 如何确定是否将::before应用于元素?,javascript,jquery,css,Javascript,Jquery,Css,我有这个简单的html代码。我需要能够确定::before是否应用于.icon player flash <div id="TestSwitch"> <i class="icon-player-html5"></i> <i class="icon-player-none"></i> <i class="icon-player-flash"></i>

我有这个简单的html代码。我需要能够确定::before是否应用于.icon player flash

    <div id="TestSwitch">

        <i class="icon-player-html5"></i>

        <i class="icon-player-none"></i>

        <i class="icon-player-flash"></i>

    </div>

我缺少什么?

使用
getComputedStyle
并检查
内容的值。如果是
none
,则不定义伪元素:

var elem=document.querySelector(“.box”);
var c=window.getComputedStyle(elem,“before”).getPropertyValue(“内容”);
控制台日志(c);
var elem=document.querySelector(“.alt”);
var c=window.getComputedStyle(elem,“before”).getPropertyValue(“内容”);
控制台日志(c)
.box:之前{
内容:“我被定义”
}


您不能选择带有伪css标记的元素,但更大的问题是,如果您为它定义了规则,为什么您认为它不会应用于它?好的,如果我使用$(“.icon player flash”);那么,我如何确定::before是否应用于它?同样,为什么不应用于它?你没有解释问题是什么。你只是用你尝试过的解决方案来询问你的问题。根据定义,如果元素与规则匹配,将应用::before。您应该知道什么条件定义::before规则。有鉴于此,您应该能够测试元素是否与该规则匹配,如果匹配,则将对其应用::before。例如,如果您的css规则是
.icon player flash::before{}
,那么您所要做的就是测试元素是否具有
icon player flash
$的类(this).get(0)
var flashplayer = $(".icon-player-flash:before");
console.log("count: " + flashplayer.length);