javascript - 一个错误,自己无法排查?
天蓬老师
天蓬老师 2017-04-10 17:55:13
[JavaScript讨论组]

点击选择选项的时候,被选中的li标签会被添加一个active类,背景会变成蓝色,在本地跑没有问题。

但在服务器上这个active类没有被添加,报错说:

然后我就不知道怎么办了,不知道怎么排查……

点此进入

哦,如果索要用户名和密码,用户名是admin,密码123456,页面主体使用angular做的,但可能是由于路由映射页面太多的原因,似乎有点慢,如果能顺带给点优化建议最好,谢谢……

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(6)
巴扎黑

首先说下链接打不开,所以只能根据经验分析。
提示"removeClass"为空,说明页面加载的时候js代码那有问题。

大家讲道理

$("#demo-list li.active")这句话找不到元素,导致removeClass出错,
$符号冲突了
如图,$被覆盖了

jquery的$符号定义是这样的

大家讲道理


如图选择符是有问题的,自己排查呢,换个版本的jq看看,具体我也不太清楚

PHP中文网

这段代码 执行报错。。

       $("#demo-list li").click(function() {
                    $("#demo-list li.active").removeClass("active");
                    $(this).addClass("active");
                });

问题:
1: 你的父元素那个 li 也用了 .active, 会把子菜单和父菜单都去掉, 然后继续 冒泡, 已经没了active,所以报错
2: ng 核心是 数据绑定, 你这个已经不是 ng的思想了

所以, 重新设计下~~~

非要jQ的吧, $(this).addClass('active').siblings().removeClass('active')

PHPz


可能removeClass()冲突吧。。。
AngularJS和jQuery的引用顺序调一下,AngularJS也有removeClass()方法,我觉得是这样的,你试试

阿神

http://urnone.com/hou_tai/guanli/js/myjs.js 这个js文件中修改了$全局变量

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号