我需要检查点击的元素是否具有特定的祖先。
$(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]
这不是我所期望的,所以我认为问题出在这里:var ele = $(e.target);
但我无法弄清楚出了什么问题用它。
答案 0 :(得分:0)
使用
console.log($(e.target).parents('.datepicker').length > 0);
或者
console.log($(ele).parents('.datepicker').length > 0);
编辑: nearest()给出了真实。请检查一下
答案 1 :(得分:0)
尝试closest()
:
<击> console.log($(this).closest('。datepicker')。length&gt; 0); 击>
假设datepicker
在表格内:
console.log($(this).closest('tr').find('.datepicker').length > 0);
OR
console.log($(this).closest('table').find('.datepicker').length > 0);