2016-01-27 37 views
1

我在我的网站上使用了一些基于我的文件结构体自动生成面包屑的Javascript。我遇到的问题是它显示的名称是基于文件名称的,有些时候这些名称在它们的分数之下。这里有一个例子:如何在Javascript中使用.replace?

首页/市场/ News_events /新闻&活动主页

我想这样做是News_events去除下得分,并用空格...同样与所有的替换面包屑在网站上。

我的Java脚本不是很好,但我想我要补充这样的:

string.replace(/_/g,' ');

我只是不知道在哪里或如何与在放置的JavaScript。

下面是完整的JavaScript:

\t 
 
\t \t function breadcrumbs(){ 
 
    sURL = new String; 
 
    bits = new Object; 
 
    var x = 0; 
 
    var stop = 0; 
 
    var output = '<a href="/"><i class="fa fa-home fa-lg"></i></a> &nbsp;/&nbsp; '; 
 
    sURL = location.href; 
 
    sURL = sURL.slice(8,sURL.length); 
 
    chunkStart = sURL.indexOf("/"); 
 
    sURL = sURL.slice(chunkStart+1,sURL.length) 
 
    while(!stop){ 
 
    chunkStart = sURL.indexOf("/"); 
 
    if (chunkStart != -1){ 
 
     bits[x] = sURL.slice(0,chunkStart) 
 
     sURL = sURL.slice(chunkStart+1,sURL.length); 
 
    }else{ 
 
     stop = 1; 
 
    } 
 
    x++; 
 
    } 
 
    for(var i in bits){ 
 
    output += "<a href=\""; 
 
    for(y=1;y<x-i;y++){ 
 
     output += "../"; 
 
    } 
 
    output += bits[i] + "/\">" + bits[i] + "</a> &nbsp;/&nbsp; "; 
 
    } 
 
    document.write(output + document.title); 
 
} 
 
\t \t

任何帮助将不胜感激!

+4

你的问题我不太清楚,但你需要使用什么'替换'返回:'string = string.replace(/ _/g,'');' –

+0

为单个字符替换,为什么使用正则表达式? '.replace('_','')'会更有效率。 –

+1

@MarcB没有全局标记,它只会替换第一个实例。您需要使用正则表达式来替换字符串中的所有实例。 – DamienBAus

回答

1

您只需要更换此线,让bits[i]有下划线代替:

output += bits[i] + "/\">" + bits[i] + "</a> &nbsp;/&nbsp; ";

假作:

output += bits[i] + "/\">" + bits[i].replace(/_/g,' ') + "</a> &nbsp;/&nbsp; ";

+0

这样做!非常感谢你!它不会让我接受你的答案几分钟。 – dbaker6