我试图想出这个,但还没有快乐。由于我无法进入此处的原因,我需要使用“this”和另一个选择器来绑定click事件。示例
$('mySelector').each(function(){
$(this, this.siblings('img')).bind('click', function(e){
e.preventDefault();
doStuffTo($(this));
});
});
但我无法弄清楚该怎么做。任何人都知道我将如何实现它?
答案 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);
});