簡體   English   中英

jQuery removeClass似乎不起作用

[英]jquery removeClass doesn't seem to work

雖然firstli.hasClass('selected')可以工作並檢索正確的元素。 removeClass函數似乎並未刪除到該類。 當一個元素未被選中時,我也希望第一個li也被選中。

這是jfiddle (代碼在底部)

注意:當您取消選中其他選項之一時,我希望不選中“全選”。

var firstli = $('.dropdown-menu.inner li').first();
firstli.click(function(event) {   
    if (!firstli.hasClass('selected')) {    
        $('.selectpicker').selectpicker('selectAll');       
    }
    else {
        $('.selectpicker').selectpicker('deselectAll');
    }
    return false;
});

var alllis = $('.dropdown-menu.inner li:not(:first-child)');

alllis.click(function(event) {
    if ($(this).hasClass('selected')) {    
        alert(firstli.hasClass('selected')); //true
        firstli.removeClass('selected');
    }
});

您的問題在於setSelected()檢查“全選”選項。 為了解決這個問題,我將該函數更改為以下內容:

setSelected: function (c, d) {
    if (d) {
        this.$menu.find("li").eq(c).addClass("selected")
    } else {
        this.$menu.find("li").eq(c).removeClass("selected")
        this.$menu.find("li:first-child").removeClass("selected")
    }
}

基本上,如果必須刪除selected類,則知道它們並未全部選中。 這可行。

http://jsfiddle.net/eC8hF/30/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM