2017-07-31 75 views
1

此問題與this post有點類似,但我只是通過添加CSS類來突出顯示菜單項之一。添加CSS元素:Jquery只在Chrome開發人員工具打開時才工作

基本上,我試圖通過#nav-accordion div下的菜單項循環。當IF條件爲真時,我會將active類別附加到li元素。

這裏是我的代碼

$("#nav-accordion li a").each(function() { 
    if (true) { 
     $(this).closest("li").addClass("active"); 
     // Expand the parent menu 
     $(this).closest("li").closest("ul").show(); 
     // Highlight the parent menu item 

     $(this).closest("li").parent().parent().find("a").addClass("active"); 

     // Exit loop when one of the menu item is highlighted 
     return; 
    } 
} 

當我沒有加載開發人員工具在Chrome中打開的網頁,亮點不工作;但是當我打開開發工具並加載頁面時,突出顯示的工作就像一個魔法。現在我不知道這個奇怪的魔術是如何工作的。

This post描述我應該刪除代碼中的任何console.log,我這樣做。但同樣的問題仍然存在。

有什麼想法?

+0

我相信如果(真)需要更改爲if(true),請將「i」設置爲小寫。 –

+1

嗨@DonaldPowell感謝您的評論,但實際上這只是一個錯字,當我鍵入if語句。在我的實際代碼中,if是小寫,條件較長,所以我只是縮短它 –

+0

嘗試..右鍵單擊並檢查元素以打開DevTools。現在點擊工具欄中的網絡。最後,檢查頂部的禁用緩存複選框 –

回答

0

你可以在jQuery $(window).load()事件中試試這個。如果仍然得到相同的結果,請嘗試使用使用jQuery.when(延遲)或嘗試使用setTimeout選項。我有類似的問題,我用jQuery.when選項排序它。

相關問題