我正在显示每个页面的网址路径,以显示用户的确切位置。就像用户来到家 - > mobile->设计然后我显示用户路径,如“家庭/移动/设计”。一切都工作正常,但对于移动我必须隐藏家庭和设计之间的内容,如家庭/.../设计。我不确定如何实现这一点。有人可以提供帮助....感谢您的帮助。
答案 0 :(得分:3)
编辑:
切换内容的新示例:
var url = 'home/mobile/design';
var start = url.indexOf('/');
var end = url.lastIndexOf('/');
var finalString = url.substring(0,start+1) + '...' + url.substring(end, url.length);
$('#myURL').text(finalString);
$('#myURL').click(function(){
if(!$('#myURL').hasClass('toggle')){
$('#myURL').text(url);
$('#myURL').addClass('toggle');
}else{
$('#myURL').text(finalString);
$('#myURL').removeClass('toggle');
}
})
https://jsfiddle.net/2mq0dwbd/1/
此代码将执行您想要的操作:
var url = 'home/mobile/design';
var start = url.indexOf('/');
var end = url.lastIndexOf('/');
alert(url.substring(0,start+1) + '...' + url.substring(end, url.length))
如果您有更多"部分"此代码也将考虑其他变体。在里面它将只采取第一个和最后一个:
home/some/deep/section/goes/here
结果:
home/.../here
当然,您可以使用它并进行修改以满足您的特定需求。
希望它有所帮助!
答案 1 :(得分:1)
如果您不想使用切片/子字符串,可以使用正则表达式,从而产生较少量的代码:
var test = 'home/mobile/design';
test.replace(/\/.*\//, '/.../'); // home/.../design
它也适用于不同的版本:
var test2 = 'home/mobile/design/test';
test2.replace(/\/.*\//, '/.../'); // home/.../test