jQuery undefined并不是一个只存在于一个trick文件中的函数



我只在这个位置上得到"未定义不是函数"错误。我在var下拉列表中得到了这个,无法识别错误。

在其他网站上,我包含了这个.js没有错。

navbar.js

 function insertModules($parent, modules) {
        for (var i = 0; i < modules.length; i++) {
            var module = modules[i];
            if (module.subitems) {
                var $dropdown = $('
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">' + module.title + ' <b class="caret"></b></a>
            <ul class="dropdown-menu"></ul>
          </li>
        ');
                $parent.append($dropdown);
                var subParent = $dropdown.find('ul');
                insertModules(subParent, module.subitems);
            }
            else {
                insertModule($parent, module);
            }
        }
    }

调用插入模块

    // set modules
if (ubnav.authenticated) {
            var $parent = $('#ubnav-modules');
            insertModules($parent, BPNAV_MODULES);
        $parent = $('#ubnav-modules-alphabetical');
        for (var i = 0; i < BPNAV_MODULES_ALPHABETICAL.length; i++) {
            var module = BPNAV_MODULES_ALPHABETICAL[i];
            if (module.name !== ubnav.currentModule) {
                insertModule($parent, module);
            }
            else {
                var $currentModule = $('#ubnav-current-module');
                var $currentModuleParent = $currentModule.parent();
                insertModule($currentModuleParent, module);
                $currentModule.remove();
                $currentModuleParent.find('li.active').addClass('current-module').addClass('hidden-lg');
            }
        }
    }
 function insertModule($parent, module) {
    var href = (module.url) ? module.url : null;
    if (!href) {
        if (module.location === 'bp') href = ubnav.linkModuleBaseBP;
        else if (module.location === 'ip') href = ubnav.linkModuleBaseIP;
        else if (module.location === 'bp2') href = ubnav.linkModuleBaseBP2;
        else if (module.location === 'meteor') href = ubnav.linkModuleBaseMeteor;
        href += (module.suffixPath) ? module.suffixPath : module.name;
    }
    var current = (ubnav.currentModule === module.name) ? ' class="active"' : '';
    $parent.append('<li' + current + '><a href="' + href + '">' + module.title + '</a></li>');
}

您已键入insertModule($parent, module),但您的函数称为insertModules()

同:insertModule($currentModuleParent, module);

我隔离并解决了这个问题。这是一个bootstrap.min.js文件,包含的内容太多。

相关内容

最新更新