我需要检查点击的元素或其中一个父元素是否为svg
标记。我不能使用closest()
选择器,因为它太宽松了。
我现在拥有的:
if (jClicked.is('svg') || jClicked.parent('svg').length > 0) {
有没有办法只使用选择器从表达式中删除OR运算符?
答案 0 :(得分:3)
您可以创建一个包含jClicked
及其父级的jQuery对象,然后我们可以使用.is()
if(jClicked.parent().addBack().is('svg'))
答案 1 :(得分:3)
尝试使用.add()
,因为.is()
会对元素集合执行OR
操作,
if(jClicked.add(jClicked.parent()).is('svg'))
我想知道为什么你拒绝在这种情况下使用.closest(),这种情况会非常有效。
if(jClicked.closest('svg').length)