替换仅适用于前2个列表项

时间:2015-07-23 18:36:22

标签: jquery sharepoint replace

我在云中使用SharePoint 2013。我有一个列表WebPart的页面,显示我设置的视图组列表项。这将创建一个可扩展的树视图。

我正在尝试从每个列表项中删除前面的列名。列名称为,因此每个列表项都显示为组:项。列名和列表项值都包含在链接中,因此我需要删除组部分和:中间的部分。

我使用以下代码:

$("a:contains('Group')").closest("td").html( 
    function(index, text) {
        return text.replace(' : ', ' ');
    }
);
$("a:contains('Group')").html(
    function(index, text) {
        if(text.indexOf('Info') < 1) {
            return text.replace(/Group/, '&nbsp;');
        }
    }
);

小组部分工作正常。

我在具有类似页面的其他网站上使用了此代码,并删除了所有列名和冒号。当我在此页面上执行此操作时,它会停止在第二个列表项后删除冒号。例如

Group : Item 1
Group : Item 2
Group : Item 3
Group : Item 4

变成

Item 1
Item 2
: Item 3
: Item 4

1 个答案:

答案 0 :(得分:1)

在尝试删除不需要的文本的几种方法之后,我决定将列名值从“Group”更改为“Area”。由于页面上有“群组信息维基”,我试图阻止“群组”文本发生变化,我有

if(text.indexOf('Info') < 1) {
      return text.replace(/Group/, '&nbsp;');
}

通过删除代码的if语句部分,它解决了问题。