繁体   English   中英

$ {document).ready中的jQuery的removeAttr函数不起作用

[英]jquery's removeAttr function inside $(document).ready doesn't work

陷入困境。 我得到一个页面,在这里我使用@media分别创建手机和平板电脑版本。 在移动版本中,我使用mmenu jquery插件来制作滑动菜单。 在平板电脑版本中,我不想使用此菜单,但仍打算使用它的html。 因此,我决定删除ID,该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();

如果有人弄清楚我的错误在哪里,我会很高兴。

您绑定的document.ready错误。 它应该是

$(document).ready(func);

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

除了可以从#my-menu中删除ID之外,您还可以移动函数以在宽度检查功能中创建菜单。 这样,仅当宽度大于401时才创建菜单。否则将完全跳过菜单。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM