我有一个带有class =“record”的div我将一个click函数添加到具有类“record”的每个对象。在点击功能中,我有:(简化)
$(".record").click(function(e) {
if (!$(e.target).is(':button')) {
if ($.contains($(this).parents(".parentDiv"), $("#UserInformation"))) {
alert("true");
} else {
alert("false");
}
}
});
我一直得到真正的警报,但我不确定为什么因为#UserInformation证明不属于“parrentDiv”类的div
我使用包含函数错了吗?
谢谢!
答案 0 :(得分:1)
$.contains()
旨在获取DOM元素,如下所示:
if ($.contains($(this).closest(".parentDiv")[0], $("#UserInformation")[0])) {
答案 1 :(得分:1)
我认为你应该使用has()
方法
$(".record").click(function(e) {
if (!$(e.target).is(':button')) {
if ($(this).closest(".parentDiv").has("#UserInformation").length) {
alert("true");
}
else {
alert("false");
}
}
});
http://api.jquery.com/has-selector/
描述:选择包含至少一个与指定选择器匹配的元素的元素。