我有一些具有层次结构的 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/