2017-06-20 129 views
1

我有以下jQuery代码在WordPress的网站。jQuery代码工作在控制台,但不是在网站

jQuery(document).ready(function() { 
    jQuery(".responsive-menu > .menu-item").click(function(event){ 
    if (event.target !== this) 
    return; 
    jQuery(this).find(".sub-menu:first").slideToggle(function() { 
    jQuery(this).parent().toggleClass("show"); 
    }); 
}); 
}); 

正在切换的类将“.sub-menu”元素设置为从“无”显示到“块”。

它在Chrome开发工具的控制台中工作正常,但不在页面中,它放置在DOM元素创建后。

如果我将代码更改为以下内容,则会执行警报,以便jQuery代码不会执行任何问题。

jQuery(document).ready(function() { 
    alert("working"); 
}); 

有关这是为什么的任何建议?

编辑:

的解决方案是

jQuery(".menu-item").click(function(event){ 

,而不是

jQuery(".responsive-menu > .menu-item").click(function(event){ 

感谢您的帮助球员

+0

控制台中是否有任何错误? – BenM

+1

'console.log(jQuery(“.response-menu> .menu-item”).length)'return?如果它是零其他问题 – charlietfl

+0

也分享html也 –

回答

1

试试这个吧。

(function($){ 
    $(document).ready(function() { 
     $(".responsive-menu > .menu-item").on('click',function(event){ 
      if (event.target !== this) 
       return; 
      $(this).find(".sub-menu:first").slideToggle(function() { 
       $(this).parent().toggleClass("show"); 
      }); 
     }); 
    }); 
})(jQuery) 
+0

不幸不幸 –

+0

仍然无法正常工作? –

相关问题