jQuery href属性以 /{tag_ 开头

3

我需要删除文档中以"/{tag_"或"{tag_"开头的所有链接。

目前我尝试使用$("a[href^='/{tag_']").remove();,但它没有起作用。

我之前还尝试过:

   $("a").each(function() {
                var href = $(this).attr("href");
                if(href == '') { // or anything else you want to remove...
                    $(this).remove();

                }
                $("a[href^='/{tag_']").remove();
            });

我已经尝试过$(this).attr("href^='/{tag_'");,但也没有起作用。有什么别的想法吗?

谢谢,Tara


它在jsfiddle上对我有效- http://jsfiddle.net/yQypx/ 但你真的不想在each循环中执行$("a[href^='/{tag_']").remove();。 - Richard Dalton
4个回答

8

3
这个循环有点多余,不是吗?据我所知,remove() 会在选定对象的整个集合上起作用。 - Flo
真的,但是因为OP遇到了问题所以我把它包含在内了。(+1给你) - Barrie Reader

3

使用 each 没有太大的意义。

可以直接这样做:

$("a[href^='/{tag_']").remove();
$("a[href^='{tag_']").remove();
$("a[href='']").remove();

1

另一种选择是使用match

$('a').each(function() 
{   
    if ($(this).attr('href').match("^/{tag_"))
    {
        $(this).remove();
    }
});

使用 match() 的好方法 - +1 - Barrie Reader

0
<script src="jquery.js"></script>
<script type="text/javascript">
    $(function(){
        $('a').each(
            function (){
                if($(this).attr('href').match('^tag_')){
                    $(this).remove();
                }
            }
        );
    })
</script>
<a href="tag_me">tagme</a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接