2013-04-06 46 views
0

翻一番JS文件通過wp_enqueue_script我有這個名爲:使用jQuery toappend選擇標籤菜單使菜單在WordPress

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

輸出是兩個菜單,顯示在我的手機上。一個是一個列表。所有鏈接都按照他們應該的方式工另一個是用相同的菜單鏈接下拉菜單。這裏的所有鏈接也按照他們的要求工作。我是否應該製作一個單獨的菜單,而不是像我的主要導航欄一樣移動,然後調用它?我很困惑,爲什麼菜單打印兩次。我重命名了js文件以查看沒有jquery會發生什麼,並且列表ul菜單仍然顯示。

回答

0

如果我正確理解你的問題......

jQuery("#primary_menu_mobile a").each 

上面的代碼似乎暗示着,你知道你將它作爲一個鏈接列表了,所以它只是刪除這些,當你的事與每個完成。

+0

如何刪除未經編輯的列表?我只想顯示附加選擇標籤的菜單。 – 2013-04-07 10:13:19

+0

jQuery(「#primary_menu_mobile a」)。remove();應該做到這一點,jQuery是精簡的東西 – 2013-04-07 15:07:56

+0

感謝您的幫助! – 2013-04-08 18:08:18