[英]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.