javascript - 向孙子添加事件处理程序

标签 javascript jquery html

我有一些具有层次结构的 html 代码

<div id="a">
    <span>
        <span id="s1">...</span>
        <span id="s2">...</span>
        <span id="s3">...</span>
    </span>
</div>

我想将事件处理程序附加到 s1、s2、s3 并假设我不知道 id div.span。 我试过了

$('#a span span').click(function(){
    alert('called');
});

但这行不通。是否有任何其他选项来访问元素的孙子元素。

最佳答案

Try using on() and > * > * . > 表示 child 。没有它,就意味着后代。那么第一个> *是children,第二个> *是children或者“grand children”的 child

$('#a > * > *').on('click', function() {
    alert('called');
});

我删除了我的第一个答案(on() 的委托(delegate)版本),因为我无法让它在 jsFiddle 上工作。我不确定为什么它不起作用。

关于javascript - 向孙子添加事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493714/

相关文章:

javascript - 信用卡刷卡器 Javascript 不断发展

html - 设置包含 div 的边框会显着改变其大小

javascript - 为必须以 3 个字母作为前缀的数字创建模式,例如 (IKA111111)

javascript - 切片数组并从 RTL/LTR 转换

javascript - onMouseOver 并按下鼠标左键(事件)

javascript - 是否可以使用ajax加载单个php函数?

javascript - 使用 jquery 将值附加到 href

jquery - 如何将导航栏制作成轮播

javascript - 尝试使可拖动的表单元素水平 jQuery

javascript - 按钮可调整大小的jquery magic margin