首页 > 解决方案 > 从 JS 或 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,'', "$1");
    $(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>
}

标签: javascriptc#asp.netasp.net-mvc-4

解决方案


您可以在页面本身上执行此操作TrimEnd('/')

@HttpUtility.UrlDecode(link.Replace("-", " ").Replace("villas", " ").Replace("/", "").ToTitleCase().TrimEnd('/'))

推荐阅读