Javascript jQuery切换——我做错了什么?
我正试图让它工作,但它不想: 基本上,我希望DIV在单击Javascript jQuery切换——我做错了什么?,javascript,jquery,Javascript,Jquery,我正试图让它工作,但它不想: 基本上,我希望DIV在单击li>h4>a时显示 jQuery(文档).ready(函数($){ $('.item div').hide(); $('项目a')。单击(函数(e){ e、 预防默认值(); //隐藏所有div var$this=$(this.parent().find('div'); $(“.item div”).not($this.hide(); //拨动 $this.toggle(); }); });
li>h4>a
时显示
jQuery(文档).ready(函数($){
$('.item div').hide();
$('项目a')。单击(函数(e){
e、 预防默认值();
//隐藏所有div
var$this=$(this.parent().find('div');
$(“.item div”).not($this.hide();
//拨动
$this.toggle();
});
});代码>
-
-
-
-
-
-
-
$(this.parent().find('div')代码>将不起作用,因为查看子体时您需要兄弟,因此请改用
jQuery(文档).ready(函数($){
$('.item div').hide();
$('项目h4 a')。单击(功能(e){
e、 预防默认值();
//隐藏所有div
var$this=$(this.parent().next('div');
$(“.item div”).not($this.hide();
//拨动
$this.toggle();
});
});代码>
-
-
-
-
-
-
-
检查$(此)
是什么-它是链接。所以$(this).parent()是h4
。h4
不包含任何div
s,因此您的代码不会执行您想要的操作。$(event.target).最近('.item')。同级('.item').hide()
我没有看到div标记(parent.find('div'),如果控制台中出现$is undefined
错误,请尝试编辑jQuery(document).ready(function($){…});
to bejQuery(document).ready(function($){…}(jQuery));
。您正在将jQuery
作为函数的$
参数传递。@RyanSchuster不是必需的。ready回调将jQuery作为第一个参数传递给回调。这很有效(谢谢!),但我无法单击Ufixed中的链接。请将选择器更改为$('.item h4 a')
因此它不会应用于子链接