0

在通过 wp_enqueue_script 调用的 js 文件中,我有这个:

jQuery(function () {
    jQuery("<select />").appendTo("#primary_menu_mobile");
    jQuery("<option />", {
        "selected": "selected",
            "value": "",
            "text": "Go to..."
    }).appendTo("#primary_menu_mobile select");
    jQuery("#primary_menu_mobile a").each(function () {
        var el = jQuery(this);
        jQuery("<option />", {
            "value": el.attr("href"),
                "text": el.text()
        }).appendTo("#primary_menu_mobile select");
    });
    jQuery("#primary_menu_mobile select").change(function () {
        window.location = jQuery(this).find("option:selected").val();
    });
});

在我的 header.php 中,我调用这样的菜单:

<?php wp_nav_menu( array(('container_id' => 'primary_menu_mobile')); ?>

输出是我手机上显示的两个菜单。一种是清单。所有链接都可以正常工作。另一个是具有相同菜单链接的下拉菜单。这里的所有链接也可以正常工作。我是否应该像我的主要导航一样为移动性制作一个单独的菜单和 wordpress 并调用它?我对为什么菜单打印两次感到困惑。我重命名了 js 文件以查看没有 jquery 会发生什么,并且列表 ul 菜单仍然显示。

4

1 回答 1

0

如果我正确理解你的问题...

jQuery("#primary_menu_mobile a").each

上面的代码似乎暗示你知道你已经将它作为一个链接列表,所以当你完成每个链接时,只需删除这些。

于 2013-04-06T19:47:44.163 回答