如何在jquery中验证菜单和子菜单

时间:2016-02-26 05:18:07

标签: jquery menu

我有侧边栏菜单和子菜单,如下面的代码:

     <ul id="menu">
           <ul>
        <li><a href="#">Home</a></li>
        <li>
            <a href="#">Categories</a>
            <ul>
                <li><a href="#">CSS</a></li>
                <li><a href="#">Graphic design</a></li>
                <li><a href="#">Development tools</a></li>
                <li><a href="#">Web design</a></li>
            </ul>
        </li>
        <li><a href="#">Work</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
       </ul>
   </ul>

如何获得如何对菜单和子速度进行验证。 任何人都可以帮助做验证

版:

 $(function () {
    $("#menuwrapper li a").on("click", function (event) {
        var districtname;
        if ($(event.target).parents('ul').length > 1) {
            districtname = $(this).text();
          //  alert(districtname);
            GetDistrictReport(districtname);
            showresults(districtname);
            //menuType = 'Sub'; //  Write your logic when sub menu is being clicked 
        }
        else {
            districtname = $(this).text();
            alert(districtname);
            GetTalukReport(districtname);
            showTalukresults(districtname);
            //menuType = 'Main'; // Write your logic when main menu is being clicked 
        }
      //  console.log(menuType + ' menu clicked. Clicked link is => ' + menuType);
    });
});

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery的内置函数.has().children()来验证菜单。这些函数返回一个包含子节点的JQuery对象,您只需要检查大小并查看它是否至少有一个子节点。 例如,

$( "ul" ).has( "li" ).length ? "Yes" : "No"

OR

( $('li').children().length > 0 ) ? "Yes" : "No"