是否可以通过 javascript 或 jQuery 向类的所有元素添加唯一的事件监听器,以便在触发事件时仅针对该元素触发事件,而不是针对具有相同类名的所有元素触发事件?
例如,如果我有以下 HTML
<div class"clickable-box"><span style="display: none;">Hi There!</span></div>
<div class"clickable-box"><span style="display: none;">Peek-A-Boo!</span></div>
<div class"clickable-box"><span style="display: none;">Now You See Me!</span></div>
...以及以下 jQuery
$('.clickable-box').click(function() {
$('.clickable-box span').slideToggle('slow');
});
...上面的内容将切换所有 div 的显示跨度。
有没有办法单独制作这些触发器,而不必为每个 div 使用唯一的 id 或类?
最佳答案
你需要
$('.clickable-box').click(function() {
$(this).find('span').slideToggle('slow');
});
div 中的 class
之后也缺少 =
<div class="clickable-box"><span style="display: none;">Hi There!</span></div>
<div class="clickable-box"><span style="display: none;">Peek-A-Boo!</span></div>
<div class="clickable-box"><span style="display: none;">Now You See Me!</span></div>
演示:Fiddle
关于javascript - 为类中的所有元素添加唯一的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18708719/