2015-08-25 72 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> 

这个隐藏一号两个环节,但不是第三链接