【问题标题】:How to set active to the class如何将活动设置为类
【发布时间】:2015-04-23 02:48:09
【问题描述】:

我正在通过 changeCulture 方法更改语言;

public ActionResult ChangeCulture(Culture lang, string returnUrl)
{
    if (returnUrl.Length >= 3) returnUrl = returnUrl.Substring(3);
    return Redirect("/" + lang.ToString() + returnUrl);
}

这里是html部分;

 <li class="currency-EUR">
    <a href="@Url.Action("ChangeCulture", "Home", new { lang = (int)SkycapGaming.Culture.Tr, returnUrl = this.Request.RawUrl })">TR</a>
    <input type="hidden" value="TR">
</li>
<li class="currency-USD">
    <a href="@Url.Action("ChangeCulture", "Home", new { lang = (int)SkycapGaming.Culture.En, returnUrl = this.Request.RawUrl })">EN</a>
    <input type="hidden" value="EN">
</li>

我想在页面打开时将活动设置为&lt;li class="currency-EUR"&gt;,所以它应该是&lt;li class="currency-EUR active"&gt;

【问题讨论】:

    标签: javascript asp.net-mvc c#-4.0 asp.net-ajax


    【解决方案1】:

    当您在 url 中传递语言时,您可以提取它,然后像使用 javascript 一样使用

    var url = window.location.href; //this return full url: http://webiste.com/eur/something.html
    url = url.split("/");
    url = url[1];
    if(url == "eur"){
       $(".currency-EUR").addClass("active");
       $(".currency-USD").removeClass("active"); // in case it was already set
    }else{
      $(".currency-USD").addClass("active");
      $(".currency-EUR").removeClass("active");
    }
    

    【讨论】:

    • 我怎样才能用这个方法改变跨度文本?
    • @Jackal 您可以将 id 或类指定为一个跨度,然后使用类似 $("#yourID").append("Some text");如果您尝试添加文本或尝试以与上述相同的方式添加类
    • 好吧,它确实有效或某事错了。我已经添加到这里; $(".currency-USD").addClass("active"); $(".currency-EUR").removeClass("active"); $("#LanSpan").append("EN");
    • 无论如何,即使我更改为 TR,美元也始终处于活跃状态
    • @Jackal 什么没用?能具体一点吗?
    猜你喜欢
    • 1970-01-01
    • 2017-12-23
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    相关资源
    最近更新 更多