从 JS 或 ASP 中的 link 中删除尾部斜线
Remove trailing slash from a link in JS or in ASP
我有以下 HTML.
<ol class="breadcrumb">
<li>
<a href="/florida-villas/" itemprop="item">Florida</a>
</li>
<li>
<a href="/florida-villas/orlando-villas/">Orlando</a>
</li>
<li>
<a href="/florida-villas/orlando-villas/davenport-lakes">Davenport Lakes</li>
</ol>
我只想删除尾部的斜杠,而不是 a 标签中的两个斜杠。所以,它看起来像这样。
<ol class="breadcrumb">
<li>
<a href="/florida-villas" itemprop="item">Florida</a>
</li>
<li>
<a href="/florida-villas/orlando-villas">Orlando</a>
</li>
<li>
<a href="/florida-villas/orlando-villas/davenport-lakes">Davenport Lakes</li>
</ol>
到目前为止,我已经在网上四处查看并找到了这个,但这删除了所有斜线。怎么才能只选最后一个呢?
$('.breadcrumb li').each(function(e){
var str = $(this).html();
var replaced_text = str.replace(/\//g,'', "");
$(this).html(replaced_text);
});
任何帮助都会很棒。该网站建于 ASP.Net。
当前代码是:(我无法做到 ASP,所以这就是为什么我试图在 jQuery 中做到这一点),除非这很容易直接在下面的代码中做到。
@{
var linksInTotal = Request.Url.Segments.Count();
var crumbUrl = "/";
<ol class="breadcrumb">
@for (var i = 2; i < linksInTotal; i++)
{
var link = Request.Url.Segments[i];
crumbUrl += link;
<li>
@if (i < linksInTotal - 1)
{
<a href="@crumbUrl.ToLower()">
@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas"," ").Replace("/", "").ToTitleCase())
</a>
}
else
{
<a href="">
@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas", " ").Replace("/", "").ToTitleCase())
</a>
}
@if (i < linksInTotal - 1)
{
<span class="fa fa-angle-right" aria-hidden="true"></span>
}
<meta itemprop="position" content="@i" />
</li>
}
</ol>
}
您可以使用 TrimEnd('/')
在页面本身上执行此操作
@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas", " ").Replace("/", "").ToTitleCase().TrimEnd('/'))
我有以下 HTML.
<ol class="breadcrumb">
<li>
<a href="/florida-villas/" itemprop="item">Florida</a>
</li>
<li>
<a href="/florida-villas/orlando-villas/">Orlando</a>
</li>
<li>
<a href="/florida-villas/orlando-villas/davenport-lakes">Davenport Lakes</li>
</ol>
我只想删除尾部的斜杠,而不是 a 标签中的两个斜杠。所以,它看起来像这样。
<ol class="breadcrumb">
<li>
<a href="/florida-villas" itemprop="item">Florida</a>
</li>
<li>
<a href="/florida-villas/orlando-villas">Orlando</a>
</li>
<li>
<a href="/florida-villas/orlando-villas/davenport-lakes">Davenport Lakes</li>
</ol>
到目前为止,我已经在网上四处查看并找到了这个,但这删除了所有斜线。怎么才能只选最后一个呢?
$('.breadcrumb li').each(function(e){
var str = $(this).html();
var replaced_text = str.replace(/\//g,'', "");
$(this).html(replaced_text);
});
任何帮助都会很棒。该网站建于 ASP.Net。
当前代码是:(我无法做到 ASP,所以这就是为什么我试图在 jQuery 中做到这一点),除非这很容易直接在下面的代码中做到。
@{
var linksInTotal = Request.Url.Segments.Count();
var crumbUrl = "/";
<ol class="breadcrumb">
@for (var i = 2; i < linksInTotal; i++)
{
var link = Request.Url.Segments[i];
crumbUrl += link;
<li>
@if (i < linksInTotal - 1)
{
<a href="@crumbUrl.ToLower()">
@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas"," ").Replace("/", "").ToTitleCase())
</a>
}
else
{
<a href="">
@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas", " ").Replace("/", "").ToTitleCase())
</a>
}
@if (i < linksInTotal - 1)
{
<span class="fa fa-angle-right" aria-hidden="true"></span>
}
<meta itemprop="position" content="@i" />
</li>
}
</ol>
}
您可以使用 TrimEnd('/')
@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas", " ").Replace("/", "").ToTitleCase().TrimEnd('/'))