【发布时间】:2017-06-20 11:05:20
【问题描述】:
我在 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”元素从“none”显示为“block”。
它在chrome dev工具的控制台中可以正常工作,但在页面中却不行,它是在创建DOM元素之后放置的。
如果我将代码更改为以下代码,则会执行警报,因此 jQuery 代码执行没有问题。
jQuery(document).ready(function() {
alert("working");
});
关于为什么会这样的任何建议?
编辑:
解决办法是
jQuery(".menu-item").click(function(event){
而不是
jQuery(".responsive-menu > .menu-item").click(function(event){
感谢大家的帮助
【问题讨论】:
-
控制台有错误吗?
-
console.log(jQuery(".responsive-menu > .menu-item").length)返回什么?如果为零,则其他问题 -
也分享html
-
控制台没有错误,console.log(jQuery(".responsive-menu > .menu-item").length) 返回6
-
在此处分享您的代码(html、js、css):jsfiddle.net 与您的问题。