2011-10-14 31 views
1
.toggle(
    function() { 
     hiddenElements.show(); 
     $(this).text('Collapse'); 
     $(".accToggler").removeClass().addClass("accToggler2"); 
    }, 
    function() { 
     hiddenElements.hide(); 
     $(this).text(showCaption); 
     $(".accToggler2").removeClass().addClass("accToggler"); 
    } 
) 

一旦單擊原始.accToggler按鈕,切換功能似乎不起作用。這些類不會被添加/刪除到按鈕。添加/刪除類在IE中不工作

我改成了這樣:

     .toggle(
          function() { 
           hiddenElements.show(); 
           $(this).text('Collapse'); 
           $("#accTogg").removeClass("accToggler").addClass("accToggler2"); 
          }, 
          function() { 
           hiddenElements.hide(); 
           $(this).text(showCaption); 
           $("#accTogg").removeClass("accToggler2").addClass("accToggler"); 
          } 
        ) 

,仍然沒有..絕對應該現在的工作吧?

   $('.v65-productDisplay').append(
        $('<tr><td><div class="accToggler" style="font-weight:bold;" id="accTogg">' + showCaption + '</div></td></tr>') 
         .toggle(
          function() { 
           hiddenElements.show(); 
           $(this).text('Collapse'); 
           $("#accTogg").removeClass("accToggler").addClass("accToggler2"); 
          }, 
          function() { 
           hiddenElements.hide(); 
           $(this).text(showCaption); 
           $("#accTogg").removeClass("accToggler2").addClass("accToggler"); 
          } 
        ) 
      ); 

這是整個代碼,對不起。

$(this).text('Collapse'); 

正在替換整個div,所以它不存在了= /我怎樣才能得到它只是替換文本里面的文本?

+0

你必須使用'removeClass()'指定要刪除哪個類。或者,您可以使用http://api.jquery.com/toggleClass/ – Andy

+0

我在removeClass()中添加了這些類,但它仍然不起作用。 – user985952

+0

您不必在removeClass中指定類。如果沒有指定,它將刪除所有的類。 – scottheckel

回答