jquery过滤器" a"带条件的标签

时间:2015-08-25 19:52:02

标签: javascript jquery html hyperlink

我的代码有问题:



$('.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>
&#13;
&#13;
&#13;

我想在我的页面上隐藏&#34; a&#34;标签包括&#34; tagged / large&#34;或&#34; tagged / _large&#34;在href属性中,无论它是用大写还是小写字母写的。 现在我在单独的脚本中有两个可能的链接,我想要一个,所以我想问你是否知道一种方法来组合这两个脚本?

2 个答案:

答案 0 :(得分:1)

通过添加问号:

,在正则表达式中使下划线更可选
$('.tag').filter(function(){ return this.href.toLowerCase().match(/tagged\/_?large$/);}).hide();

答案 1 :(得分:0)

你可以使用它,如果你想要一个href与_large大的标签被隐藏的话,它会正常工作。

$('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>
  

这隐藏了前两个链接,但没有隐藏第三个链接