处理具有多个选择器的事件时,例如:
$('.item a, .another-item a').click(function(e) {
});
是否可以确定哪个父选择器触发了事件?是.item
还是.another-item
?
谢谢!
答案 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 {
}
});