var classFind= $('.frame').parent().parent().parent().parent().parent();
if (classfind.hasClass(".class")) {
return true;
}
我有一个根据此路径定位的类^...我如何循环通过 dom 以更好的代码可读性自动执行此过程?如果它在命中 null 之前没有找到 .hasclass,那么只需返回 false。
var classFind= $('.frame').parent().parent().parent().parent().parent();
if (classfind.hasClass(".class")) {
return true;
}
我有一个根据此路径定位的类^...我如何循环通过 dom 以更好的代码可读性自动执行此过程?如果它在命中 null 之前没有找到 .hasclass,那么只需返回 false。
你不能把这个换成...
return !!$('.frame').closest('.class').length;
这些closest
方法沿着 DOM 树向上移动,直到找到与作为其参数给出的选择器匹配的元素 - 然后立即停止;如果没有找到这样的元素,它将返回空的元素集合(它仍然是一个对象,因此应该检查它的长度)。与call!!
相同Boolean()
- 它不是必需的,但会使您的函数返回布尔值 ( true/false
) 而不是0/1
.
你可以尝试这样的事情: var classFind= $('.frame').closest(".class");
使用最接近的功能,您不会得到确切的 5 个父母,如果这是您想要的...
该选择器将执行此操作。
function findEl() {
if($('.class > * > * > * > * > .frame').length > 0) {
return true;
}
return false;
}
测试它:http: //jsfiddle.net/S5juG/1/