我有以下的html:JQuery .not(find())或 - 是否可以使用?
<div class="profileRowHeader"><!-- div 1 -->
<div class="folderIcon">
<i class="glyphicon glyphicon-arrow-close"></i>
</div>
</div>
<div class="profileRowHeader"><!-- div 2 -->
<div class="folderIcon">
<i class="glyphicon glyphicon-folder-open"></i>
</div>
</div>
<div class="profileRowHeader"><!-- div 3 -->
<div class="folderIcon">
<i class="glyphicon glyphicon-folder-close"></i>
</div>
</div>
當我點擊元素與.profileRowHeader
類,它的一些東西,並從關閉改變圖標的文件夾打開。如同上面的中間div。
$this.find(".folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
很好用。現在,如果我點擊上面的div 3,div 2仍然有圖標文件夾打開,所以爲了解決這個問題,我點擊任何profileHeaderRow
時關閉所有文件夾圖標。
$(".folderIcon").removeClass('glyphicon-folder-open').addClass('glyphicon-folder-close');
問題當然是,我使用toggleClass,所以DIV我點擊我會去封閉內的圖標,然後將切換本身再次打開。
因此,我可以以某種方式找到我點擊的div內的類folderIcon
,而不是將類更改應用到它。希望這是有道理的。
這就是我想,但根本不起作用:
$(".folderIcon").not(find(".folderIcon")).removeClass('glyphicon-folder-open').removeClass('greenDragBg').addClass('glyphicon-folder-close');
的完整代碼,因爲它是:
$('.profileRowHeader').click(function() {
$(".folderIcon").not(find(".folderIcon")).removeClass('glyphicon-folder-open').addClass('glyphicon-folder-close');
$this.find(".folderIcon").toggleClass('glyphicon-folder-open glyphicon-folder-close');
});
摘要:我有profileRowHeader
類的div x個在每個文件夾中都有一個文件夾圖標,全部關閉......當我點擊任何類profileRowHeader
的div時,我希望該圖標變爲打開狀態,其餘都關閉。當我再次點擊該div時,它會變爲關閉圖標。但是,如果它保持打開狀態並單擊另一個div,它應該關閉打開的一個,並且新的profileRowHeader
內的新文件夾圖標變爲打開。
希望這是一個有點清晰
您可以將您的確切需求添加到您的OP中。真的不清楚你點擊某件物品時會發生什麼。 –
當JS在'.folderIcon'上切換它們時,你的JS切換''上的類,'$ this'也沒有被定義。我認爲這是一個複製粘貼錯誤。 '=]' –
@FabrícioMatté它的定義我只是忘了在這裏添加,當我拿了一堆其他的東西出來保存讀取無用的信息 - 謝謝 –