【问题标题】:using jQuery toappend select tags to a menu causes the menu to double in wordpress使用 jQuery 将选择标签附加到菜单会导致菜单在 wordpress 中翻倍
【发布时间】:2013-04-06 19:42:09
【问题描述】:

在通过 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 菜单仍然显示。

【问题讨论】:

    标签: jquery wordpress menu responsive-design


    【解决方案1】:

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

    jQuery("#primary_menu_mobile a").each
    

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

    【讨论】:

    • 如何删除未编辑的列表?我只想显示带有附加选择标签的菜单。
    • jQuery("#primary_menu_mobile a").remove();应该这样做,jQuery 非常适合简化事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2012-01-27
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    相关资源
    最近更新 更多