2011-12-02 221 views
-1

低於JQuery用於顯示和隱藏我的html頁面內容的代碼。當我點擊顯示產品鏈接產品的所有名稱都在下面,當點擊時隱藏產品鏈接它隱藏產品。它工作正常,但在IE6.0當我點擊隱藏產品鏈接它是隱藏複選框也不過Mozilla的不出所料jQuery功能不能正常工作

$(document.ready(function()){ 
    toggleNodes=function(node,action){ 
     var $content=$('.node-content', node); 
     var $symbol=$('.node-label>a>.ui-symbol-green',node); 

     If (var ($symbol.hasClass('ui-symbol-circle-minus') && 
       (action==undefined||action=='hide'))) 
     { 
      $symbol.removeClass('ui-symbol-circle-minus'); 
      $symbol.addClass('ui-symbol-circle-plus'); 
      $info.addClass('closed'); 
      $content.hide(); 
     } 
     else if($symbol.hasClass('ui-symbol-circle-plus')) && 
       (action=='undefined'||action=='undefined') 
      $symbol.addClass('ui-symbol-circle-minus'); 

     $symbol.removeClass('ui-symbol-circle-plus'); 
     $info.removeClass('closed'); 
     $content.show(); 
     } 
     return false; 
    } 

    toggleAllNodes=function(tree,action){ 
     $('.node',tree).each(function(node)){ 
      toggleNOde(node,action); 
     }); 
    } 

    $('.tree .nodelabel>a').click(function(event)){ 
     toggleNode(event.currentTarget.parentNode.parentNode); 
     event.preventDefault(); 
     return false; 
    }); 
}); 
return false; 

請建議如何糾正這個錯誤。

+0

你可以發佈你的html片段(它可以填充虛擬文本)。另外,您是否可以修復您現在使用的代碼格式,以便於閱讀。 – Matt

+0

嘗試使用jQuery的切換方法和它的回調函數來處理圖標swith。它會讓你的代碼更具可讀性,並可能修復你的錯誤。 –

+0

如果這是代碼的確切粘貼,則會出現一些語法錯誤 –

回答

0

你必須把var之前的函數定義.. IE有它的問題!

$(document.ready(function()){ 
    var toggleNodes=function(node,action) { 
     var $content=$('.node-content', node); 
     var $symbol=$('.node-label>a>.ui-symbol-green',node); 

     // also think that this IF statement is not going to work for IE (!not sure) 
     if(var ($symbol.hasClass('ui-symbol-circle-minus') && (action==undefined||action=='hide'))) { 
      $symbol.removeClass('ui-symbol-circle-minus'); 
      $symbol.addClass('ui-symbol-circle-plus'); 
      $info.addClass('closed'); 
      $content.hide(); 
     } 
     else if($symbol.hasClass('ui-symbol-circle-plus')) && (action=='undefined'||action=='undefined') 
      $symbol.addClass('ui-symbol-circle-minus'); 

     $symbol.removeClass('ui-symbol-circle-plus'); 
     $info.removeClass('closed'); 
     $content.show();} 
     return false; 
    } 

    var toggleAllNodes=function(tree,action){ 
     $('.node',tree).each(function(node)){ 
      toggleNOde(node,action); 
     }); 
    } 

    $('.tree .nodelabel>a').click(function(event)){ 
     toggleNode(event.currentTarget.parentNode.parentNode); 
     event.preventDefault(); 
     return false; 
    }); 
}); 
+0

感謝您的輸入工作。 – user1057697

+0

歡迎您!有一些基本的東西可以簡化你在現代瀏覽器中工作的代碼,但不能在IE #fail中使用 –