jquery的$(document).ready中的removeAttr函数不起作用

时间:2014-06-17 18:36:44

标签: javascript jquery html

遇到了一些麻烦。 我有一个页面,我使用@media分别创建移动和平板电脑版本。在移动版本中我使用mmenu jquery插件来制作滑动菜单。在平板电脑版本中,我不想使用此菜单,但仍计划使用它的html。所以我决定删除id,它显示了需要制作滑动菜单的mmenu插件。但由于某些原因,juery的removeAttr不能像我预期的那样工作。 Ps:我对js很新,所以我可能不知道与浏览器工作有关的问题。

我得到了这段代码(html非常简单 - 导航,包装了一堆ul):

   var func = function() {
            var width = $(window).width();
            var menu = $(".menu");
            /*if it is tablet*/
            if (width > 401) {
                menu.removeAttr("id");
            }

            /*loading mmenu*/
            $(function() {
                $('#my-menu').mmenu({
                    slidingSubmenus: false,
                    zposition: "next"
                });
            });

        };

        $(document).ready = func();
如果有人澄清我的错误在哪里,我会非常高兴。

2 个答案:

答案 0 :(得分:4)

你绑定了document.ready错误。它应该是

$(document).ready(func);

您没有设置属性,也没有调用您的函数。

答案 1 :(得分:2)

您可以移动函数以在宽度检查功能中创建菜单,而不是从#my-menu中删除ID。这样,只有宽度大于401时才会创建菜单。否则,它会被完全跳过。

if (width > 401) {
    $(function(){
        $('#my-menu').mmenu(...);
    });
}