javascript - 检查 $(this) 是否有在数组中指定类或 id 的 parent

标签 javascript jquery arrays if-statement

首先,经过一段时间的“测试”,我不得不说,stackoverflow 真的很酷!

我的问题: 我想检查 $(this) 是否没有任何在 js 数组中指定类或 id 的 parent 。

现在我用“eval”做了这个,但是 Andy E. 说服了我,最好放弃“eval”。但是我不知道在这种情况下该怎么做。

以下是我所做的大部分工作:

var testthis = '!(($(this).parents("'+<MY_ARRAY>.join('").length > 0 || $(this).parents("')+'").length > 0)';
if (eval(testthis)) {
    ....
}

如果有人好心回答我的问题,我必须道歉,我无法在接下来的几个小时内阅读(和评论或评价)他/她的回答。对不起!

最佳答案

试试这个,不需要评估:

if(!$(this).parents(<MY_ARRAY>.join(', ')).length) {
 //elem has none of those parents
}

在这种情况下,MY_ARRY 包含诸如“.class1”、“.class2”、“#id1”、“#id2”之类的内容

或者更慢,但如果数组只是字符串,你可以检查这两种情况:

if(!$(this).parents("." + <MY_ARRAY>.join(', .')).length &&
   !$(this).parents("#" + <MY_ARRAY>.join(', #')).length) {
 //elem has none of those parents
}

在这种情况下,MY_ARRY 包含诸如“class1”、“class2”、“id1”、“id2”之类的内容,但 ID 可以像 #class1 一样匹配,因此这是不太理想的。

关于javascript - 检查 $(this) 是否有在数组中指定类或 id 的 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2275772/

相关文章:

javascript - Angular,表达式{{}}的结果没有插入到ng-click中

javascript - onClick 事件在与 setTimeout 函数一起使用时出现错误

java - 使用volley库加载json数组

arrays - 用大写字母拆分 Swift 中的字符串

javascript - 使用 JQuery 2.0.2 或 2.0.3 动态创建 div 不起作用

ios - 如何在 Swift 中定义闭包数组?

javascript - fullCalendar动态事件点击行为

javascript - 如何遍历 htmlCollection

javascript - jquery中find和closest的区别

jquery - fancybox 图像上的自定义宽度和高度