【问题标题】:How to apply a css class to master page based on the url using jquery? [closed]如何使用 jquery 根据 url 将 css 类应用于母版页? [关闭]
【发布时间】:2014-03-03 11:33:12
【问题描述】:

我需要根据我所在的页面应用一个 css 类..所有部门都在母版页中..

任何人都可以帮助我提供有关如何查找页面 url 并使用 jquery 将类应用于该页面的代码吗?

假设这是我的网址,我如何从中获取 default.asp?

http://www.w3schools.com/jquery/default.asp

谢谢。

【问题讨论】:

  • 至少贴一些伪代码。这会更好,我需要......而且这不是我的近距离投票
  • 请您添加一些代码或jsfiddle
  • 为什么不在服务器端添加类?
  • 如何在服务器端添加它?我需要将 css 应用于
  • 列表..
  • 动态生成菜单项(在循环中)并检查哪个 url 与当前 url 匹配。恕我直言,这是服务器的任务。
  • 标签: c# jquery asp.net css jquery-ui


    【解决方案1】:

    如果我理解正确,你想根据当前页面在容器中设置一个 css 类。

    方法一、客户端

    您可以使用获取当前网址

    window.location.pathname;
    

    然后你就可以使用jQuery来设置你想要的类了。

    var targetElement = "#MyMainContainer";
    if(someBusinessLogicHere){
        $(targetElement).addClass("myClass");
    }
    

    方法2.服务器端

    或者,您可以在服务器端的视图中添加类,如下所示:

    @{
        ViewBag.MyClass = "MyMainContainer";
    } 
    

    并像这样在主布局中使用它:

    <div id=@ViewBag.MyClass>
        The content
    </div>
    

    【讨论】:

      【解决方案2】:

      您可以找到页面名称,然后如果它是根据您的要求的特定页面,那么您可以动态添加所需的 css 类:

       $(document).ready(function(){
      
            if (document.location.href.match(/[^\/]+$/)[0] == 'index.aspx')
            {
                //Add CSS in page header
                $("head").append("<script> .my-css-class{ /* put style here */} <script/>");
            }    
          });
      

      【讨论】:

      • 这是一个非常糟糕的解决方案
      猜你喜欢
      相关资源
      最近更新 更多
      热门标签