0

我想消除前 5 个链接(完成<a>...</a>)。还有所有的管道(“|”)。

<p> | <a href="/node/1">link 1</a>  
    | <a href="/node/2">link 2</a>  
    | <a href="/node/3">link 3</a> 
    | <a href="/node/4">link 4</a> 
    | <a href="/node/5">link 5</a> 
    | <a href="/node/6">link 6</a>  </p>

这是我到目前为止所拥有的:

$(".main p a:lt(4)").hide();

修订版 1 ------

我觉得越来越近了-

$('.main p a').html( $('.main p a').html().replace(/|/gi,'') );

修订 2 ------

多亏了你的好主意,这终于对我有用了!hi:contains 有助于确保它不会开始破坏我的所有页面。

   if($('h1:contains("some specific text")')){
        $(".main p a:lt(4)").hide();
        $('.main p').html($('.main p').html().replace(/\|/g, ''));
    }    
4

4 回答 4

1

尝试

$(".main p a:lt(4)").hide();

$('.main p').contents().filter(function(){
    return this.nodeType == 3 && $.trim($(this).text()) == '|';
}).remove();

演示:小提琴

于 2013-05-16T03:34:48.577 回答
0

删除所有的 '|' 管道

$("p").html().replace(/\|/g,"");

或者

$("p").html($("p").html().replace(/\|/g,""));

如果您需要删除单个链接,

$("p a").eq(1).remove();

要删除前 5 个链接,

$("p a:lt(5)").remove();

见小提琴:http: //jsfiddle.net/Te6ad/

于 2013-05-16T03:33:50.123 回答
0

这将取代酒吧。

$('p').html($('p').html().replace(/\|/g, ''));

更换酒吧。

JS 小提琴:http: //jsfiddle.net/gjWSc/1/

我不明白你想要删除哪些链接..

于 2013-05-16T03:34:18.287 回答
0

根据我对您问题的理解,以下是您问题的答案:

html代码:

<p> 
    | <a id="1" href="/node/1" class="link">link 1</a>  
    | <a id="2" href="/node/2" class="link">link 2</a>  
    | <a id="3" href="/node/3" class="link">link 3</a> 
    | <a id="4" href="/node/4" class="link">link 4</a> 
    | <a id="5" href="/node/5" class="link">link 5</a> 
    | <a id="6" href="/node/6" class="link">link 6</a>  

</p>

脚本:

<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script>
    var i = 0;
    $('.link').each(function () {
        var id = $(this).attr('id');
        $('p').html($('p').html().replace('|', ''));
        $('#' + id).hide();
        if(i==3)
        {
            return false;
        }
        i++;
    });
</script>

如果我错了,请纠正我...

于 2013-05-16T04:29:13.633 回答