Javascript 是否可以使用jquery选择带有供应商前缀的属性?

Javascript 是否可以使用jquery选择带有供应商前缀的属性?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想更改滑块的拇指颜色,但我需要使用“.topcoat range input::-webkit slider Thumb”选择拇指。我认为这个选择器不适用于css,因为它包含一个供应商前缀。有没有可能解决这个问题? 我想动态地选择颜色,所以我不能简单地附加一个类 $('.button').on('click', function (e) { $('.topcoat-range-input::-webkit-slider-thumb').css('background', 'rgba(2

我想更改滑块的拇指颜色,但我需要使用“.topcoat range input::-webkit slider Thumb”选择拇指。我认为这个选择器不适用于css,因为它包含一个供应商前缀。有没有可能解决这个问题? 我想动态地选择颜色,所以我不能简单地附加一个类

$('.button').on('click', function (e) {
    $('.topcoat-range-input::-webkit-slider-thumb').css('background', 'rgba(255, 208, 255, 0.75)');
});

一个可能的解决方案是这样,但我希望用一种简单的方法:

$('.button').on('click', function (e) {
    $("<style type='text/css'>.topcoat-range-input::-webkit-slider-thumb{background:rgba(255, 208, 255, 0.75)}</style>").appendTo($("head"));
});
$('.button')。在('click',函数(e)上{
$(“.topcoat范围输入::-webkit滑块拇指{background:rgba(255,208,255,0.75)}”).appendTo($(“head”);
});

您可以在单击时应用该类,并为选择器定义CSS规则。 这里有小提琴


您可以在单击时应用该类,并为选择器定义CSS规则。 这里有小提琴

供参考: 你不能按你想的方式做 维什瓦纳的方式是你能做到的唯一最好的方式

原因: “:”供参考: 你不能按你想的方式做 维什瓦纳的方式是你能做到的唯一最好的方式

原因:
“::”为什么不应用一个用伪选择器定义CSS规则的类…因为我想动态更改颜色,实际上我从图像中选择颜色并将其设置为缩略图。这有帮助吗?这是在google上找到的,一个简单的函数,可以让你获得特定于浏览器的CSS样式名称属性,然后通过cssProp将样式应用到它。你为什么不应用一个类,用伪选择器定义CSS规则…因为我想动态更改颜色,实际上,我从图像中选择颜色并将其设置为拇指。这有帮助吗?这是在google上发现的,一个简单的函数,可以让你获得特定于浏览器的CSS样式名称属性,然后通过cssProp将样式应用到它。当然,这里的问题是,我在代码中动态更改颜色。你有明确的颜色列表吗?如果有,你可以为它们定义类并使用它。如果你没有确定的颜色,你可以动态地得到它们,那么你可以看看这个动态地创建类,对于这个小问题我知道的太多了…看起来这个简单问题没有简单的解决方案,但是我想我会使用这个解决方案:$('.button')。on('click',function(e){$(“.topcoat范围输入::-webkit滑块拇指{背景:rgba(255,208,255,0.75)}”)。附件($((“头部”);});我在评论中共享的链接与在运行时创建类的作用相同,这也是您的解决方案所做的。我会选择我的解决方案,因为它清晰明了……所以您可以帮助我实现吗?我尝试过这种方法,但它对我无效。当然,这里的问题是,我在中动态更改颜色代码你有明确的颜色列表吗,如果有,你可以为它们定义一个类并使用它。如果你没有明确的颜色,你可以动态地获取它们,那么你可以看看这个动态地创建一个类。对于这个小问题,我知道的太多了…看起来这个简单的问题没有简单的解决方案,但是我想我会使用这个解决方案:$('.button')。在('点击',函数(e){$(“.topcoat范围输入::-webkit滑块拇指{background:rgba(255,208,255,0.75)})上($('head”);});我在评论中共享的链接与在运行时创建类的作用相同,这也是您的解决方案所做的。我会选择我的解决方案,因为它清晰明了……那么您能帮助我实现吗?我尝试过这种方式,但它对我无效。您能告诉我我这里的代码有什么问题吗?您能告诉我是什么吗至少我的代码有问题吗?
$('.button').on('click', function (e) {
    $('.topcoat-range-input').addClass('applied');
});


.topcoat-range-input.applied::-webkit-slider-thumb {
    background : rgba(255, 208, 255, 0.75);
}