动态分配类到列表

时间:2013-04-23 12:26:17

标签: jquery menuitem submenu

我正在写作,因为我有一个动态类分配给列表的问题。 这是因为你可能运行不好的子项。 我的代码是:

<nav id="menu">
     <div class="container">
        <div class="fourteen columns" style="width: 765px">

        <ul>
            <li class="current">
                <a href="#storia" >ABOUT US</a>
                                    <ul>
                                        <li><a href="#storia">STORIA</a></li>
                                        <li ><a href="#team" >TEAM</a></li>
                                    </ul>
            </li>
            <li>
                <a href="#fianco">SERVICES</a>
                        <ul>
                            <li><a href="#fianco" >COMPETENZA</a></li>
                            <li><a href="#referenze">REFERENZE</a></li>

                        </ul>
            </li>
    </ul>

和Javascript:

//build dropdown
$("<select />").appendTo("#menu");

// Create default option "Go to..."
$("<option />", {
    "selected": "selected",
    "value"   : "",
    "text"    : "Go to..."
}).appendTo("nav select");  

// Populate dropdowns with the first menu items
$("#menu li a").each(function() {
    var el = $(this);
    $("<option />", {
        "value"   : el.attr("href"),
        "text"    : el.text()
    }).appendTo("nav select");
});

//make responsive dropdown menu actually work           
$("nav select").change(function() {
    window.location = $(this).find("option:selected").val();
});

感谢大家的帮助!

1 个答案:

答案 0 :(得分:0)

问题是你只是改变窗口的位置而不是实际点击元素。这就是为什么没有分配课程的原因。将最后一部分更改为以下内容:

$("nav select").change(function () {
    var link = $(this).val();
    if( link != "") //don't do anything for "Go To"
        $('#menu li a[href=' + link + ']')[0].click(); //simulate click
});

编辑: 查看完整的jsfiddle:http://jsfiddle.net/6gfpv/1/