jquery单击绑定不起作用,当我使用它
jquery click bind not working when I use this
所以我正在尝试制作一个在单击标题时折叠起来的部分。如果我使用以下部分,它可以工作,但显然将所有部分折叠起来,而不仅仅是单击:
$(".foldUpSection").find(".header").click(function()
{
$(".foldUpSection").find(".foldMeUp").slideToggle();
});
我把它换成了
$(".foldUpSection").find(".header").click(function()
{
$(this).find(".foldMeUp").slideToggle();
});
但这无济于事。我是否错过了为什么它没有在点击时传递这个的东西?
这是 HTML
<div class="foldUpSection">
<span class="header">Unprocessed EDIs</span>
<div id="unprocessedEdi" class="foldMeUp">
</div>
</div>
在这种情况下,this
指的是$(".foldUpSection").find(".header")
find()
函数查找选择器的后代,并且$(".foldUpSection").find(".header")
没有具有 foldMeUp
类的后代。
如果 DOM 结构不是一成不变的(因此您可能在 .header
和 .foldMeUp
之间有其他元素,请使用以下命令:
$(".foldUpSection").find(".header").click(function()
{
$(this).closest(".foldUpSection").find(".foldMeUp").slideToggle();
});
这是小提琴:http://jsfiddle.net/jEgK4/
使用 $(this) 和 .find() 会让你定位错误的元素。
使用.next()
或.siblings()
,find()
搜索孩子,foldmeup是兄弟姐妹
$(this).siblings(".foldMeUp").slideToggle();
或
$(this).next(".foldMeUp").slideToggle();
演示
.find() 的文档
相关文章:
- 使用jQuery将单击绑定到页面中未使用的部分
- jQuery使用最后一个参数在Javascript循环中单击绑定函数
- 如果移除并重新添加DOM元素,则ng单击绑定丢失
- 挖空 - 单击绑定到对象函数 - 范围问题
- 将单击绑定到驻留在不同(但首先包含)文件中的函数
- KNOCKOUTJS 在 foreach 绑定中单击绑定
- KendoUI 可观察量和单击绑定
- KNOCKOUTJS 单击绑定在嵌套 foreach 中不起作用
- 元素上的多次单击绑定仅在挖空.js中执行一次
- Knockoutjs 单击绑定停止工作
- jquery单击绑定不起作用,当我使用它
- 将用户单击绑定到实例化对象
- 为什么我的Knockout Radio按钮在使用单击绑定的另一个元素内时会失败
- 将ng单击绑定到动态数组上的ng重复
- 从单击绑定调用方法
- Knockout单击绑定,拖动时除外
- Knockout:在提交和单击绑定中捕获异常
- 将选中绑定与包含元素上的单击绑定相结合
- 将单击绑定到控件
- 如何将参数发送到单击绑定销毁