在一个通过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的情况下会发生什么,但list ul菜单仍然显示。
发布于 2013-04-07 03:47:44
如果我没理解错你的问题..。
jQuery("#primary_menu_mobile a").each上面的代码似乎暗示你知道你已经有了一个链接列表,所以当你完成每个链接的时候,只需要删除这些链接即可。
https://stackoverflow.com/questions/15855235
复制相似问题