使用jquery一起删除多个css类

时间:2017-01-02 20:22:14

标签: jquery html css

我还是大学生,也是jQuery的新手。我想知道如何使用jQuery删除这些CSS类:

.starrate span:hover:before,.starrate span:hover ~ span:before {
    content: "\2605";
    position: absolute;
    color: orange;
    cursor: pointer;
}

我试过了:

$('#s10').on( "click", function() {
    var val = $(this).data("values5"); 

    $("#s10").html("<span>&bigstar;</span>");
    $("#s10").addClass("newstarrate");
    $("#s10").removeClass("starrate span:hover:before,.starrate span:hover ~ span:before");
});

但它不起作用。我该如何删除这些类?

2 个答案:

答案 0 :(得分:1)

这将删除您刚刚添加的课程:

 $("#s10").removeClass("newstarrrate")

如果是您的目的,您无法更改CSS定义。

答案 1 :(得分:0)

从你的例子来看,你试图使事情变得复杂。

唯一涉及的实际课程是“。”之后的任何文字。直到第一个空间。整个事情是一个CSS选择器,而不是一个类。在您的示例中,上面CSS选择器中唯一的一个类是'.starrate'。

由于CSS特异性(DOM元素的树状特性以及CSS的应用方式),如果你取出“父”类,孩子们不会受到列出的样式的影响,所以下面应该删除CSS样式:

$("#s10").removeClass("starrate");