簡體   English   中英

jQuery:從HTML頁面獲取所有鏈接,除非鏈接屬於特定的類或ID

[英]jQuery: Get all links from HTML page except if the link falls under certain class or id

<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>

忽略類stackoverflow下的所有鏈接並選擇dom中所有其他錨標記的最佳方法是什么?

是選擇每個錨標記$('a') ,然后抓住$('.stackoverflow a')錨標記,然后刪除公用元素,才是實現此目的的最佳方法嗎?

您可以像這樣使用:not()偽類:

工作實例

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

這將否定所有a是一個的后代元素.stackoverflow元素。

另外, .not()方法也可以工作:

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

您還可以使用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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM