2013-11-15 51 views
0

我有以下的html:toggleClass不刪除一流

<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> 

這是預期的行爲?我真的需要,如果可能的

+1

做這樣的'兩個班 - >「glyphicon文件夾 - 打開glyphicon-folder-close''將兩個引號放在同一個引號中,不用','分隔。 – Jai

回答

4

嘗試像

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

對於你不需要任何分隔符ratherthan 空間。看到這個link

+0

謝謝你親切先生。 – Boldbayar

3

刪除它在你的情況,你應該使用一個字符串參數由空格分隔類:

$('#folderIcon', this).toggleClass('glyphicon-folder-open glyphicon-folder-close'); 
5

您列出類中一個,空間分隔的字符串切換:

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

第二(可選)參數toggleClass不是另一個類切換,它是一個標記:如果它是truthy,所述toggleClass作用就像addClass。如果它是虛假的,toggleClass就像removeClass。如果它是缺失,toggleClass切換類(如果存在,則刪除它們,如果不存在,則按類逐個添加它們)。

2

toggleClass將每個類的單個字符串參數切換爲由空格分隔。試試這個:

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