2017-07-31 91 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选项排序它。

相关问题