0

我正在使网站响应。我正在使用以下代码将导航设置为移动设备的选择框。但是代码不起作用。我错过了什么吗?

<nav id="main-nav">
<table cellspacing="0" cellpadding="0" border="0">
    <tr>
        <!--START: menuitems_view-->
        <!--START: TOP_LINK_FORMAT-->
        <td nowrap="nowrap">
            <a href="infopage.asp?page=[link_id]"
               class="menu" target="[link_target]">
               [link_name]
            </a>
        </td>
        <!--END: TOP_LINK_FORMAT-->
        <!--END: menuitems_view-->
    </tr>
</table>
<select></select>

脚本代码如下:

<script>
$(document).ready(function() {  
//Appending Select in NAv for Small Resolutions Devices

// Create the dropdown base
$("<select />").appendTo("#main-nav");

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

// Populate dropdown with menu items
$("#main-nav a, #main-nav a").each(function() {
    var el = $(this);
    $("<option />", {
        "value"   : el.attr("href"),
        "text"    : el.text()
    }).appendTo("#main-nav select");
});
$("#main-nav select").change(function() {
       window.location = $(this).find("option:selected").val();}
    );

});

</script>
4

1 回答 1

1

首先,我不确定您要达到什么目的,所以只写我看到的几个错误。

首先,HTML 已损坏 nav 标记缺少结束标记。

另一件事是您已经在 nav 标记的末尾有 select 标记,但您仍然通过 jQuery 创建自己的标记并.appendTo("#main-nav select")添加它们两个选项。如果你只想要一个删除<select></select>

除此之外,选项的创建很好并且更改事件有效。

于 2013-06-11T10:18:44.600 回答