首先,经过一段时间的“测试”,我不得不说,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/