Javascript:选择全部<;a>;除了某一类的人

Javascript:选择全部<;a>;除了某一类的人,javascript,Javascript,我从一个为所有 ... 代码: var-supports3dttransforms=document.body.style['webkitpropective']!=未定义| | document.body.style['MozPerspective']!=未定义; 功能链接(选择器){ if(支持S3D转换){ var节点=document.querySelectorAll(选择器); 对于(var i=0,len=nodes.length;i

我从一个为所有


...
代码:

var-supports3dttransforms=document.body.style['webkitpropective']!=未定义| | document.body.style['MozPerspective']!=未定义;
功能链接(选择器){
if(支持S3D转换){
var节点=document.querySelectorAll(选择器);
对于(var i=0,len=nodes.length;i
像这样的选择器应该可以工作:

a:not(.class_name)

for
循环中:

var node = nodes[i],
    parent = node.parentNode,
    inFoo = false;

// loop through all parent nodes and search for the unwanted class
while(parent){
  if(parent.className && parent.className.indexOf('foo') > -1){
     inFoo = true;
     break;
  }                       
  parent = parent.parentNode;        
}

if(!inFoo) {
   // do your stuff
}

@愚蠢的塞思,或者更好的是,你在问什么?让整个事情变得更清楚了。这难道不排除类
.foo
中的
?我想排除
如果它在里面,比如说
里面的
  • 。foo
    @MarcBoisvert:在这种情况下,用
    id
    class
    将要选择的所有内容包装在一个
    标记中,并以该元素为目标。CSS无法查看父元素。太好了!非常感谢!!
    a:not(.class_name)
    
    var node = nodes[i],
        parent = node.parentNode,
        inFoo = false;
    
    // loop through all parent nodes and search for the unwanted class
    while(parent){
      if(parent.className && parent.className.indexOf('foo') > -1){
         inFoo = true;
         break;
      }                       
      parent = parent.parentNode;        
    }
    
    if(!inFoo) {
       // do your stuff
    }