2015-12-13 20 views
2
<nav> 
    <ul> 
    <li><a href="#">Link1</a> 
    </li> 
    <li><a href="#">Link2</a> 
    </li> 
    <li><a href="#">Link2</a> 
    </li> 
    </ul> 
</nav> 
<div> 
    <a href="#">Link4</a> 
</div> 
<div> 
    <p> 
    <a href="#">Link5</a> 
    </p> 
</div> 
<p> 
    <a href="#">Link6</a> 
</p> 
<div class="stackoverflow"> 
    <a href="#">Link7</a> 
    <a href="#">Link8</a> 
    <a href="#">Link9</a> 
</div> 
<p class="stackoverflow"> 
    <a href="#">Link10</a> 
</p> 
<p> 
    <a href="#">Link10</a> 
</p> 

什麼是忽略所有類計算器下的鏈接,並在DOM選擇錨標籤的所有其餘的最好方式下下降?jQuery的:從HTML頁面中的所有鏈接,除非鏈接某一類或ID

是選擇每個錨標記$('a'),然後抓住$('.stackoverflow a')錨標記,然後刪除常見元素最好的方法來做到這一點?

回答

3

您可以使用:not()僞類是這樣的:

Working Example

$('a:not(.stackoverflow a)'); 

這將否定所有a元素是.stackoverflow元素的後裔。

另外,該.not()方法將工作,以及:

$('a').not('.stackoverflow a'); 
1

您還可以使用filter功能:

$('a').filter(function(){ 
    return !$(this).parent().hasClass('stackoverflow'); 
}); 

希望這有助於。


$('a').filter(function(){ 
 
    return !$(this).parent().hasClass('stackoverflow'); 
 
}).css('background-color', 'yellow');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li><a href="#">Link1</a> 
 
    <li> 
 
     <li><a href="#">Link2</a> 
 
     <li> 
 
      <li><a href="#">Link2</a> 
 
      <li> 
 
</ul> 
 
<div> 
 
    <a href="#">Link4</a> 
 
</div> 
 
<div> 
 
    <p> 
 
    <a href="#">Link5</a> 
 
    </p> 
 
</div> 
 
<p> 
 
    <a href="#">Link6</a> 
 
</p> 
 
<div class="stackoverflow"> 
 
    <a href="#">Link7</a> 
 
    <a href="#">Link8</a> 
 
    <a href="#">Link9</a> 
 
</div> 
 
<p class="stackoverflow"> 
 
    <a href="#">Link10</a> 
 
</p> 
 
<p> 
 
    <a href="#">Link10</a> 
 
</p>

0

VAR OBJ = $( 「A:沒有(.intro)」);

您可以訪問obj的attr href。