我想选择.section容器中的所有p
元素,但只包含已包含a.open链接的元素
$('.section').delegate('a.open', "click", function(){
$(this).parent().filter('p').show(); //I want to select all `p` elements in .section container, but just in th one that containts the a.open link that has been clicked
})
由于
答案 0 :(得分:7)
您可以将delegateTarget作为上下文传递(delegateTarget是事件对象的一个属性,它传递给处理函数,并且是“处理”委托的DOM元素
$('.section').delegate('a.open', "click", function(e){
$('p', e.delegateTarget).show()
//This means show all <p> elements in the context defined by e.delegateTarget
})
看看这个小提琴http://jsfiddle.net/jWYKv/
答案 1 :(得分:2)
试试这个:
Closest(向上移动并停在第一个.section
),Find(查找由给定选择器过滤的所有后代)
$('.section').delegate('a.open', "click", function(){
$(this).closest('.section').find('p').show();
})
答案 2 :(得分:1)
$(this).parents('th:first').find('p').show();
怎么样?
编辑:误解了您对问题的解释
$(this).parents('.section:first').find('p').show();