2013-03-14 56 views
0

我试图用jQuery或JS去除范围内的一些文本的结尾。jQuery或JS从一个范围内修剪字符

<h3 class="ms-standardheader ms-WPTitle"> 
    <a href="" tabindex="0" accesskey="W"> 
    <nobr> 
     <span>Programs ‭[1]‬</span> 

我有是在SharePoint这样产生的15个冠军 - 5个项目,5个临床服务,以及5其他支持。我想从每个人中删除[x],但是这是由SharePoint自动生成的,因为它不喜欢具有相同名称的标题。

我试过的迭代:

$('.ms-WPTitle a nobr span').splice(0, -4); 

我似乎无法在跨度内的文本去修剪。有什么建议么?

回答

5
$('.ms-WPTitle a nobr span').text(function(el, old){ 
    return old.slice(0, -4); 
}); 

.text()接受一个功能,你可以用它来轻松地修剪字符

演示:http://jsfiddle.net/vhTuA/

+0

谢谢你的快速回复。不幸的是,结果删除了每个范围的所有文本 – MacSalty 2013-03-14 22:38:39

+0

@Gofdambi - 对不起,使用'slice'而不是'substr' – ahren 2013-03-14 23:20:54

+0

我最终解决了这个问题。 ()。(“。ms-WPTitle span:first-child”)。each(function(e){this(this).text($(this).text()。split('[')[0]) ; }); 我仔细检查过你的答案,它的工作线路少于我的线路 – MacSalty 2013-03-14 23:27:16

1

由于ahren给了一个方法,你可以试试这个还有:你也可以尝试

demohttp://jsfiddle.net/CCvPQ/2/orhttp://jsfiddle.net/CCvPQ/4/

API使用:

希望它适合事业:)

代码

jQuery.fn.justtext = function() { 

    return $(this).children().find('span').text(); 

}; 

alert($('.ms-standardheader').justtext()); 

使用。首先API

http://jsfiddle.net/qRZe7/1/

jQuery.fn.justtext = function() { 

    return $(this).children().find('span').first().text(); 

}; 

alert($('.ms-standardheader').justtext());