使用jQuery将选择标签添加到菜单会导致菜单在wordpress中加倍

时间:2013-04-06 19:42:10

标签: jquery wordpress menu responsive-design

在通过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')); ?>

输出是我手机上显示的两个菜单。一个是清单。所有链接都按预期工作。另一个是下拉菜单链接相同。这里的所有链接也可以正常工作。我应该制作一个单独的菜单un wordpress,就像我的主要导航器的移动性,而不是打电话给它?我很困惑为什么菜单打印两次。我重命名了js文件,看看没有jquery会发生什么,列表ul菜单仍然显示出来。

1 个答案:

答案 0 :(得分:0)

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

jQuery("#primary_menu_mobile a").each

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