【问题标题】:How to bind Menus and submenus apply css using Jquery?如何使用 Jquery 绑定菜单和子菜单应用 css?
【发布时间】:2012-10-17 21:20:45
【问题描述】:

我有 html 格式的 sting 值数据如何应用 css 和 jquery 样式

 public class Menus
      {
        public List<Menus> GetALL { get; set; }  
            public int menuId { get; set; }
            public string menuName { get; set; }
            public string menuURL { get; set; }
            public int parentId { get; set; }
       }    
    public class MenuModel
    {
        public MenuItemsEntities objEntities = new MenuItemsEntities();

        public string GetMenu()
        {
            //Get MainMenu Menus       
            Menus menuobj = new Menus();            
            var objmenu = from menus in objEntities.MenuItems
                          where menus.ParentId == 0
                          select menus;

            string strMenuBuild = string.Empty;
            strMenuBuild += "<ul>";
            foreach (var i in objmenu)
            {
                menuobj.menuName = i.ItemName;
                menuobj.menuId = i.MenuItemsID;
                menuobj.menuURL = i.URL;
                if (i.ParentId == 0)
                {                  
                    //GetSubMenu();
                    strMenuBuild = strMenuBuild + "<li><a href='" + menuobj.menuURL + "'>" + menuobj.menuName + "</a><ul>";
                    strMenuBuild += GetSubMenu(Convert.ToInt32(menuobj.menuId)) + "</ul></li>";
                    //strMenuBuild  += "</ul></li>";
                }
            }
            strMenuBuild += "</ul>";
            return strMenuBuild;
        }
        public string GetSubMenu(int submenuid)
        {
            string strSubBuild = string.Empty;
            Menus menuobj = new Menus();    
            var submenu=   from menus in objEntities.MenuItems
                          where menus.ParentId == submenuid
                          select menus;           
            if (submenu.Count() > 0)
            {
                foreach (var sbmnu in submenu)                
                {
                    menuobj.menuURL = sbmnu.URL;
                    menuobj.menuName = sbmnu.ItemName;
                    menuobj.menuId = sbmnu.MenuItemsID;

                    strSubBuild = strSubBuild + "<li ><a href='" + menuobj.menuURL + "'>" + menuobj.menuName + "</a>";

                    var submneu1 = from menus in objEntities.MenuItems
                                   where menus.ParentId == menuobj.menuId 
                                   select menus;

                    if (submneu1.Count() > 0)
                    {
                        strSubBuild += "<ul>";
                        strSubBuild += GetSubMenu(Convert.ToInt32(menuobj.menuId));
                        strSubBuild += "</ul>";  
                    }
                    strSubBuild += "</li>";
                }               
            }
            return strSubBuild;
        }
    }  

我已经像这样返回到 String In Html 格式


  • 菜单装饰
    • 衬衫
    • T 恤
      • H3SubMenu1
    • 牛仔裤
      • P1子菜单1
      • P2SubMenu2
    • 长裤
    • 运动服
  • 女士菜单服饰
    • 纱丽
    • 连衣裙
    • 长裤
  • 手机
    • 手机
    • 平板电脑
    • 记忆卡
    • 蓝牙
  • 珠宝首饰
    • 耳环
    • 戒指
    • 链条
    • 儿童珠宝

但是我绑定了菜单和子菜单。我想应用 css 和 jquery。如何应用 css 和 jquery 我不知道。谁能帮帮我..

【问题讨论】:

    标签: javascript linq jquery-ui css asp.net-web-api


    【解决方案1】:

    这是我用来构建菜单结构的函数:

    var buildMenu = function(menu, el) {
        var ul = $('<ul></ul>');
        ul.appendTo(el);
            for(var i in menu) {
                var menuItem = $('<li><a href="' + menu[i].url + '">' + menu[i].title + '</a></li>');
                menuItem.appendTo(ul);
                if(menu[i].subMenu) {
                    buildMenu(menu[i].subMenu, menuItem);
                };
            };
    }
    

    menu 是包含菜单的 JSON 对象,el 是要插入菜单的 div 或包含元素。

    我的 Menu 对象具有以下格式:

    var menu : [{
        title   : 'Home',
        url     : 'Default.html'
    }, {
        title   : 'Groups',
        url     : '#',
        subMenu : [{
            title   : 'Group1',
            url     : 'Group1.html'
        },{
            title   : 'Group2',
            url     : 'group2.html'
        }]
    }];
    

    希望有帮助

    【讨论】:

    • @koenyn ..实际上返回 Html 格式对。所以想写 jquery 函数应用值...我看到链接 stackoverflow.com/questions/6688963/…... 仍然很困惑如何转换成 jquery .. PLAS 帮助我请
    • 好吧,如果你有正确格式的 HTML 并且你知道你想要使用什么样式并且你想要做的就是使用 jQuery 将 css 类应用到你的 HTML 中,那就很简单了。您使用 css 选择器来抓取 jQuery 对象。即要获取您的 li 元素,您可以使用 $("li") 然后添加一个 css 类,您将使用类似 $("li").addClass("menuItem");
    • @Koenyn... 是的,我知道 Styels,但我只返回一个 css Appy。我动态返回一种格式,但我想要不同的 css 也适用。
    猜你喜欢
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2013-08-13
    • 2018-11-23
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多