jQuery多个选择器,获取哪个选择器触发事件

时间:2012-10-17 19:22:21

标签: javascript jquery

处理具有多个选择器的事件时,例如:

$('.item a, .another-item a').click(function(e) {

});

是否可以确定哪个父选择器触发了事件?是.item还是.another-item

谢谢!

5 个答案:

答案 0 :(得分:7)

由于选择器几乎可以是任何东西,因此您必须检查具体内容,例如:

if($(this).is('.item a')){
  //your code here
} else if ($(this).is('.another-item a')){
  //more here
}

答案 1 :(得分:4)

您可以使用jQuery is

if($(this).is('.item a')){
      // code
   }
   else if($(this).is('.another-item a')){//remove 'if ' in case there are only two selector separated by commas.
        //code..

   }

答案 2 :(得分:2)

试试这个

$(this).closest('.item').length > 0

答案 3 :(得分:1)

您可以查看:

var isItem = $( this ).parents( '.item:first' ).length > 0,
    isAnotherItem = $( this ).parents( '.another-item:first' ).length > 0;

答案 4 :(得分:1)

如果.item.another-item属于2个不同的节点..那么您可以尝试如下,

$('.item a, .another-item a').click(function(e) {
    if ($(this).closest('.item').length) {  //if it is '.item'

    } else {

    }
});