1

我有以下html:

<div class="profileRowHeader">
    <i class="glyphicon glyphicon-folder-close" id="folderIcon"></i>
</div>

单击时.profileRowHeader我想删除类glyphicon-folder-close并将类添加glyphicon-folder-open#folderIcon

这就是我正在尝试的:

$('.profileRowHeader').click(function() {
    $(this).find("#folderIcon").toggleClass('glyphicon-folder-open','glyphicon-folder-close');
});

但它所做的只是添加glyphicon-folder-open类而不是删除glyphicon-folder-close类,如下所示:

<i class="glyphicon glyphicon-folder-close glyphicon-folder-open" id="folderIcon"></i>

这是预期的行为吗?如果可能的话,我真的需要删除它

4

4 回答 4

5

您列出要在一个以空格分隔的字符串中切换的类:

$(this).find("#folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
// Change is here --------------------------------------------^

第二个(可选)参数toggleClass不是另一个要切换的类,它是一个标志:如果它是真实的,则toggleClass行为类似于addClass. 如果它是虚假的,则toggleClass表现得像removeClass. 如果它缺失,则toggleClass 切换类(如果存在则删除它们,如果不存在则添加它们,逐个类)。

于 2013-11-15T09:53:29.613 回答
4

试试喜欢

$('.profileRowHeader').click(function() {
    $(this).find("#folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
 });

对于这两个类,您不需要任何分隔符而不是空格。请参阅此链接

于 2013-11-15T09:54:45.253 回答
3

在您的情况下,您应该使用单个字符串参数和由空格分隔的类:

$('#folderIcon', this).toggleClass('glyphicon-folder-open glyphicon-folder-close');
于 2013-11-15T09:53:24.077 回答
2

toggleClass每个类都采用单个字符串参数来切换以空格分隔。尝试这个:

$('.profileRowHeader').click(function() {
    $(this).find("#folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
});
于 2013-11-15T09:53:30.957 回答