2015-09-22 46 views
0

我需要檢查點擊的元素是否具有特定的祖先。檢查事件對象是否有特定的祖先

$(document).click(function(e) { 
    console.log(e.target); 
    var ele = $(e.target); 
    console.log(ele.parents('.datepicker').length > 0); 
} 

此輸出:

<td class="active">24</td> 
false 

但是,如果我的控制檯,做

$('td.active').parents('.datepicker').length > 0 

它輸出

true 

$(e.target);輸出是:[td.active, context: td.active]它ISN」我所期望的,所以我認爲問題在於:var ele = $(e.target);,但我無法弄清楚它有什麼問題。

回答

0

使用

console.log($(e.target).parents('.datepicker').length > 0); 

或者

console.log($(ele).parents('.datepicker').length > 0); 

編輯: 最接近()給出正確的。請檢查此

FIDDLE

+0

這兩項輸出假 – jhulme

0

嘗試closest()

的console.log($(本).closest( '日期選擇器。')長度> 0);

假設datepicker是表內:

console.log($(this).closest('tr').find('.datepicker').length > 0); 

OR

console.log($(this).closest('table').find('.datepicker').length > 0); 
+0

與''this'和ele''e.target'和所有的試了一下輸出爲false – jhulme

+0

@jhulme,請找我的更新 – Arvind

相關問題