Jquery - 如何删除列表中最后一项内的链接后的文本?

时间:2014-03-24 09:19:36

标签: javascript jquery

我需要你的帮助,在链接到列表中的最后一项之后用Jquery删除文本。谢谢你的帮助。

HTML:

<ul id="mylinks" style="text-align: left; margin-left: -25px;">
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li>
    <li class="small" style="display: inline;"><a href="#">Text</a>|</li> {* | to remove *}
</ul>

4 个答案:

答案 0 :(得分:3)

您要删除的内容是文本节点而不是元素,因此请使用.contents() 尝试,

$('#mylinks').contents().last().remove();

DEMO

根据您的新要求,您可以尝试,

$('#mylinks li:last').contents().last().remove();

DEMO I

答案 1 :(得分:2)

这里,如何获取现有HTML的子字符串,假设当然只有一个字符要从末尾删除(|):

$('#mylinks li').html(function(_,v){
   return v.substr(0,v.length-1);
});

JSFiddle

答案 2 :(得分:0)

  

在Jquery中使用last-child

$("#mylinks li:last-child a").text("");

答案 3 :(得分:0)

试试这个:

$('#mylinks li:last').contents() .filter(function(i,n) {
       return this.nodeType === 3 && $.trim(this.nodeValue) !== ''  ;
   }).remove()

如果 test 实际上是文字文本,那么 test

http://jsfiddle.net/Tb5MR/3/