在jquery多选择器中使用“this”

时间:2011-04-20 13:36:09

标签: jquery selector this

我试图想出这个,但还没有快乐。由于我无法进入此处的原因,我需要使用“this”和另一个选择器来绑定click事件。示例

    $('mySelector').each(function(){
    $(this, this.siblings('img')).bind('click', function(e){
        e.preventDefault();
        doStuffTo($(this));
    });
});

但我无法弄清楚该怎么做。任何人都知道我将如何实现它?

3 个答案:

答案 0 :(得分:5)

大多数jQuery方法(不返回值)会自动应用于集合中的每个元素,因此不需要each()

结合siblings()andSelf(),代码可以简化为:

$('.mySelector').siblings('img').andSelf().click(function (e) {
    e.preventDefault();
    doStuffTo($(this));
});

答案 1 :(得分:2)

相反,你可以这样做:

$('mySelector').each(function(){
    $(this).siblings('img').andSelf()).bind('click', function(e){
        e.preventDefault();
        doStuffTo($(this));
    });
});

答案 2 :(得分:1)

目前还不完全清楚你要做什么,但也许就是这样:

var f = function(e){
    e.preventDefault();
    doStuffTo($(this));
};

$('mySelector').each(function() {
   $(this).bind('click', f);
   $(this).siblings('img').bind('click', f);
});