我有这个mmenu实例,我在其中动态地添加来自ajax的内容,就像插件页面上描述的那样。
现在,我不仅希望动态地添加子级别,还希望丢弃所有级别,并向现有的mmenu实例添加一个新的第一级。
我尝试过调用API.initPanels($("#mm-0")),在再次初始化mmenu插件之前,我尝试从DOM元素中删除所有类,但是它不会呈现一个正确的菜单。我补充说,UL和LIs保持不变。
发布于 2018-06-07 14:05:07
明白了,下面是如何:
API.closeAllPanels();
var mmenuActual = API.getInstance();
var $panels = mmenuActual.$pnls.children();
var $updateContainer = $panels.first().find(".mm-listview");
$updateContainer.replaceWith(newContent);
$panels.not(":first").remove();
API.initPanels($panels);首先,我们需要关闭所有面板,以将mmenu设置回它的初始状态,其中只有顶层是可见的。
接下来,我们需要获得所有面板和第一个面板的.mm-listview,因为这是mmenu呈现第一个级别的地方。
然后,我们用我们的新内容更新第一级的源。您是否像我一样更新该元素的innerHTML或交换它并不重要。
剩下的面板现在已经过时了,我们把它们全部扔掉。
最后,我们告诉mmenu初始化所有面板。
https://stackoverflow.com/questions/50713725
复制相似问题