【问题标题】:Remove trailing slash from a link in JS or in ASP从 JS 或 ASP 中的链接中删除尾部斜杠
【发布时间】:2019-02-13 13:35:58
【问题描述】:

我有以下 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>
}

【问题讨论】:

    标签: javascript c# asp.net asp.net-mvc-4


    【解决方案1】:

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

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

    【讨论】:

    • 我刚刚在另一页的代码中发现了这一点。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    相关资源
    最近更新 更多