【发布时间】:2016-01-06 08:16:48
【问题描述】:
jQuery.fn.on 与动态选择器一起使用时如何访问动态目标?
因为$(this) 在绑定函数中提供父元素。
而且我需要让每个元素本身动态获取对应的data-attributes。
小提琴: https://jsfiddle.net/u1kuufj7/1/
HTML:
<div id="container">
<div id="1" class="ch">Click</div><br>
<div id="2" class="ch">Click</div><br>
<div id="3" class="ch">Click</div><br>
<div id="4" class="ch">Click</div><br>
<div id="5" class="ch">Click</div><br>
</div>
Javascript:
var $container = $('#container');
var $chs = $('.ch');
$container.on('click', $chs, function() {
alert($(this).attr('id'));
});
【问题讨论】:
-
究竟是什么问题?
-
$(this) 在 binder 函数中给出的是父元素,而不是事件实际绑定的子元素。我需要绑定函数中的孩子。
-
注意:现在,Stack Snippets(
<>按钮)应该比 jsFiddle 更受欢迎,因为它们在现场。
标签: javascript jquery jquery-on