Javascript 如何将jQuery应用于.element:before:hover?

Javascript 如何将jQuery应用于.element:before:hover?,javascript,jquery,html,css,hover,Javascript,Jquery,Html,Css,Hover,我使用的是slick slider,但无论出于什么原因,当我将鼠标移动到下一个或上一个按钮上时,它不会改变不透明度(鼠标移出:0.5,鼠标移入:1),它只会停留在1,有没有办法应用jQuery来更改此任务的CSS?我要将jQuery添加到的元素如下所示: .slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }

我使用的是slick slider,但无论出于什么原因,当我将鼠标移动到
下一个
上一个
按钮上时,它不会改变不透明度(鼠标移出:0.5,鼠标移入:1),它只会停留在
1
,有没有办法应用jQuery来更改此任务的CSS?我要将jQuery添加到的元素如下所示:

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}

.slick-prev:before,
.slick-prev:before,
.slick-next:before,
.slick-next:before
{
    opacity: 0.5;
}

简而言之:不,你不能

详细答案:

您正在使用的元素称为。它们不存在于中,因此您无法选择其中任何一个并更改其样式

可能的解决方法:


通过为相同元素声明另一个样式规则来覆盖该样式(例如,通过注入包含将覆盖现有样式的样式的
style
标记)。

简而言之:不,您不能

详细答案:

您正在使用的元素称为。它们不存在于中,因此您无法选择其中任何一个并更改其样式

可能的解决方法:

通过为相同元素声明另一个样式规则来覆盖该样式(例如,通过注入一个
style
标记,该标记包含将覆盖现有样式的样式)。

(函数($){
jQuery.fn.extend({
//获取伪属性
getPseudo:函数(pseudo,prop){
var props=window.getComputedStyle(
$(this).get(0),pseudo
).getPropertyValue(道具);
返回字符串(props);
},
//设置伪属性
setPseudo:函数(_pseudo,_prop,newprop){
var elem=$(本);
var s=$(“style”);//现有的'style'元素
var p=elem.getPseudo(_pseudo,_prop);//调用`getPseudo`
var r=p!==“”?新RegExp(p):false;
变量选择器=$.map(元素,函数(val,键){
返回[val.tagName]
,val.id
?“#”+val.id:null
,val.className?”。“+val.className:null]
});
var_setProp=“\n”+选择器.join(“”)
.toLowerCase()
.concat(_伪)
.concat(“{”)
.concat(_prop+“:”)
.concat(newprop+“;}”);//css分号
返回(!!r?r.test($(s).text()):r)
?$(s).文本(函数(索引、属性){
返回道具。更换(r,新道具)
}) 
:$(s).附加(_setProp)
);
}
})
})(jQuery);
$(“.show more after”)。在(“单击”,函数()上){
var toggle=$(this.getPseudo(“:after”,“opacity”);
$(this).setPseudo(“:after”,“opacity”,toggle==“0.5”?“1”:“0.5”);
})
。在之后显示更多内容:之后{
内容:“abc”;
不透明度:0.5;
}

单击
(函数($){
jQuery.fn.extend({
//获取伪属性
getPseudo:函数(pseudo,prop){
var props=window.getComputedStyle(
$(this).get(0),pseudo
).getPropertyValue(道具);
返回字符串(props);
},
//设置伪属性
setPseudo:函数(_pseudo,_prop,newprop){
var elem=$(本);
var s=$(“style”);//现有的'style'元素
var p=elem.getPseudo(_pseudo,_prop);//调用`getPseudo`
var r=p!==“”?新RegExp(p):false;
变量选择器=$.map(元素,函数(val,键){
返回[val.tagName]
,val.id
?“#”+val.id:null
,val.className?”。“+val.className:null]
});
var_setProp=“\n”+选择器.join(“”)
.toLowerCase()
.concat(_伪)
.concat(“{”)
.concat(_prop+“:”)
.concat(newprop+“;}”);//css分号
返回(!!r?r.test($(s).text()):r)
?$(s).文本(函数(索引、属性){
返回道具。更换(r,新道具)
}) 
:$(s).附加(_setProp)
);
}
})
})(jQuery);
$(“.show more after”)。在(“单击”,函数()上){
var toggle=$(this.getPseudo(“:after”,“opacity”);
$(this).setPseudo(“:after”,“opacity”,toggle==“0.5”?“1”:“0.5”);
})
。在之后显示更多内容:之后{
内容:“abc”;
不透明度:0.5;
}


单击
解释在哪里?创建stacksnippets。这个问题的答案是什么?@Jai如果原始帖子中没有
html
很难确认?不完全确定预期结果是什么?不过,可能会提供一种选择和调整
元素属性、值的方法?解释在哪里?创建堆栈代码段。这是怎么回答问题的?@Jai如果原始帖子中没有
html
,很难确认?不完全确定预期结果是什么?尽管如此,您是否可以提供一种选择和调整
元素属性和值的方法?您是否可以检查这一点并向我建议如何实现它。你能检查一下这一点并向我建议如何实现它吗。