2015-08-25 115 views
1

我有我的代碼有問題:jQuery的過濾器「」標籤與條件

$('.tag').filter(function(){ return this.href.toLowerCase().match(/tagged\/large$/);}).hide(); 
 

 
$('.tag').filter(function(){ return this.href.toLowerCase().match(/tagged\/_large$/);}).hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="tag" href="/tagged/laRge">large</a>

我想我的網頁上隱藏的「一」的標籤,其中包括「標記/大「或」tagged/_large「在href屬性中,無論它是用大寫字母還是小寫字母來寫。 現在我在兩個單獨的腳本中都有可能的鏈接,並且我希望兩者都包含在一起,所以我想問問你是否知道將這兩個腳本結合起來的方法?

+0

嘗試'/標記\/_?大$/GI '看看它是否有幫助。 – Stack0verflow

回答

1

使下層儀表板在您的正則可選加一個問號:

$('.tag').filter(function(){ return this.href.toLowerCase().match(/tagged\/_?large$/);}).hide(); 
+0

我使用了這個,但我排除了.toLowerCase()並在正則表達式的末尾添加了「i」,所以代碼更短。謝謝! – MAX

+0

好的改進!樂意效勞 :) – taxicala

0

你可以利用這一點,它會正常工作,如果你想與_large HREF到大被隱藏的標籤。

$('a').each(function(e){ 
    if($(this).attr("href").toLowerCase().indexOf("large")>-1) 
     { 
      $(this).hide() 
     } 
}) 

下面是完整的HTML頁面

<html> 
      <head> 
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
      </head> 
      <body> 
       <a class="tag" href="/tagged/laRge">large</a> 
       <a class="tag" href="/tagged/_laRge">_large</a> 
       <a class="tag" href="test/">test link</a> 
      </body> 
      <script> 
      $('a').each(function(e){ 
       if($(this).attr("href").toLowerCase().indexOf("large")>-1) 
        { 
         $(this).hide() 
        } 
       }) 
      </script> 
</html> 

這個隱藏一號兩個環節,但不是第三鏈接