2012-07-31 43 views
-1

對不起,這可能是一個很長的名字,請耐心等待。我有三個可排序(jqueryUI)列表。列表all-colls-list,coll-selected-listcoll-grouped-list。我可以把列表的所有項目列表納入coll-selected列表coll-grouped-list當您使用jquery刪除另一個class名稱時類會失去一個名稱

因此,例如,我可以把「列表項」到兩個科爾選擇列表,並在同一時間科爾 - 分組列表,並且該項目將在保留所有colls列表。當項目被添加到coll-selected-list時,在all-colls-list的列表項目上附加類名稱「selAdded」。當一個項目被添加到科爾 - 分組列表,類名「groupAdded」被附加到列表項全colls列表 前:

<li class"selAdded">Blah blha</li> OR 
<li class"groupAdded">Blah blha</li> OR (when item is put in both lists) 
<li class"selAdded groupAdded">Blah blha</li> 

當我刪除的項目從coll-grouped-listcoll-selected-list,它刪除all-colls-list中該項目的相應類名稱。但是,如果存在兩個類名稱,並且只刪除一個,由於某種原因,它刪除了兩個! 因此,如果我要從中刪除「selAdded」 它似乎只剩<li>Blah blha</li>

我做了這裏http://jsfiddle.net/noscirre/xf8j2/

小提琴這是我的代碼,刪除類名稱:

if ($("#all-colls-list li:contains(" + itemName + ")").hasClass("selAdded")) { 
       $("#all-colls-list li:contains(" + itemName + ")").removeClass("selAdded"); } 

,這是檢查的代碼該類的存在一旦被刪除:

receive: function (event, ui) { 
       alert($(this).attr('class')); 
       if ($(this).hasClass("groupAdded") && $(this).hasClass("selAdded")) { 
        alert("both"); 
        //Do nothing 
       } 
       if ($(this).hasClass("groupAdded") && !$(this).hasClass("selAdded")) { 
        alert("group"); //Do nothing 
       } 
       if (!$(this).hasClass("groupAdded") && $(this).hasClass("selAdded")) { 
        alert("sel"); //Do nothing 
       } 
       if (!$(this).hasClass("groupAdded") && !$(this).hasClass("selAdded")) { 
        alert("none"); //Do nothing 
       } 
      } 

任何幫助將大大增值ED

+2

爲什麼只是不使用.removeClass(「selAdded」); – 2012-07-31 12:57:43

回答

0

它看起來像被添加和你想刪除的類,但代碼,查找的時候他們的存在ISN工作不正常。當您檢查課程時,$(this)指的是父級<ul>而不是<li>,因此<ul>既沒有selAdded也沒有groupAdded類,因此顯示爲「無」。

我正在使用Chrome的內置檢查器來查找類,而我在你的小提琴中拖動東西。我使用了console.log($(this));,所以我可以在錯誤控制檯中查看一下$(this)實際上是指代碼中的那一點。

0

,如果你還需要檢查它是否有一個類...

$("#all-colls-list li:contains(" + itemName + ") selAdded").each(
function() { 
$(this).removeClass('selAdded'); 
dp-_other(); 
} 
) 
0

如果使用螢火蟲或任何檢查工具,你可以看到類被正確刪除,但你的代碼的警報部分是不正確

試試這個小提琴http://jsfiddle.net/xf8j2/2/

雖然你應該清理這個代碼和緩存一些jQuery對象

相關問題