【发布时间】:2014-12-26 17:36:44
【问题描述】:
我有一些在页面加载后添加到 DOM 的元素。当我点击它们时,我想执行一些操作。我正在使用带有 jQuery 的委托,但是当我在函数中时,我不知道如何获取单击的元素(在这种情况下,$(this) 指的是父级)
<div id="parent">
<div class="child">
<div class="hidden"></div>
</div>
<div class="child">
<div class="hidden"></div>
</div>
</div>
<script>
$('#parent').click('.child', function(){
$(this).find('.child').toggleClass("hidden displayed")
});
</script>
假设我想在单击“子”div 时将内部 div 从“隐藏”切换为“显示”。目前,当我单击第一个“子”div 时,两个“隐藏”div 将被切换,我只想切换我单击的 div 中的一个。
【问题讨论】:
-
您的委托语法错误。您需要使用
.on(),您不能将选择器作为参数提供给.click()。 -
查看事件参数的区别:
event.currentTarget,event.delegateTarget,event.target:api.jquery.com/category/events/event-object
标签: javascript jquery jquery-events