2017-01-02 61 views
0

我仍然是大学的学生,也是jQuery的新手。我想知道如何删除这些喜欢使用jQuery CSS类:使用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"); 
}); 

但它不工作。我怎样才能删除这些类?

+0

会发生什么情况?请参阅[mcve] –

回答

1

这将删除您刚才添加的类:

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

不能更改CSS定义,如果它是你的目的。

+0

感谢您的评论。 –

+0

你想删除什么课程? –

+0

我想删除我想删除此类.starrate span:hover:之前,.starrate span:hover〜span:之前{ 内容:“\ 2605”; position:absolute; 颜色:橙色;光标:指针; } –

0

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

涉及的唯一实际类是直接位于'。'之后的任何文本。直到第一个空间。整个事情是一个CSS选择器,而不是一个类。在你的例子中,上面CSS选择器中唯一的类是'.starrate'。

由于CSS的特殊性(DOM元素的树状特性和应用CSS的方式),如果您取出“父”类,子类将不会受到所列样式的影响,因此以下应该删除CSS样式:

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

它不工作 –

+0

你可以设置一个JSFiddle吗?或者等价的,所以我们可以看到你的代码“在行动”,可能会有另一个问题 –