Cannot set property 'display' of undefined【利用Chrome浏览器查看js语法错误】
来源:互联网 发布:外国网友评论中国网络 编辑:程序博客网 时间:2024/06/18 15:20
想要实现一个简单的功能:
默认隐藏一个div,点击后显示,并可以切换,如下图所示:
就是这么简单的一个问题,还是报错了。哦,对了,以前不知道怎么解决前端的问题,一碰到错误就懵了。有必要分享下找前端错误的一条经验:
如果用到了jquery,尤其是点击效果,点击后无反应时,第一个要想到的是:“是否有语法错误”!
由于一般IDE都不会自动检查js语法,所以得交给浏览器完成。在Chrome浏览器下,点右键检查,比如我在“显示输入的URL”这里用到了jquery,但是点了后没反应,右上角明显有错误出现,看下错误详情。
这个问题很隐晦,参考stackoverflow中的这个问题。
我的实现代码如下:
$("#switchUrl").click(function(){ var status = $(".showTable").style.display; $("#show_url").toggle(); if (status == 'none') { $("#switchUrl").text("隐藏输入的URL"); } else { $("#switchUrl").text("显示输入的URL"); } });
.showTable可以看出这是想通过class取到div,但是注意,不同div可以对应相同的class。所以必须考虑到这样的情况:一个页面叫同一个class名字的会有很多,这样获取到的就是一个数组形式,我还必需指定我取数组中的哪一个,必需加上索引才行。(应该考虑我这样取是不是本身也容易出问题)修改后如下:
$("#switchUrl").click(function(){ var status = $(".showTable")[0].style.display; $("#show_url").toggle(); if (status == 'none') { $("#switchUrl").text("隐藏输入的URL"); } else { $("#switchUrl").text("显示输入的URL"); } });
问题解决!细心啊!我的天!
github
0 0
- Cannot set property 'display' of undefined【利用Chrome浏览器查看js语法错误】
- js Cannot set property 'color' of undefined
- Ueditor Cannot set property 'innerHTML' of undefined
- TypeError: Cannot set property 'user' of undefined
- Cannot set property 'value' of undefined
- jquery.mobile-1.4.5.min.js:3 Uncaught TypeError: Cannot set property 'mobile' of undefined
- node.js开发错误——TypeError: Cannot set property 'XXX' of undefined
- UEditor使用报错Cannot set property 'innerHTML' of undefined
- Uncaught TypeError: Cannot set property 'applyDefaults' of undefined
- Uncaught TypeError: Cannot set property 'mobile' of undefined
- Hexo: TypeError: Cannot set property 'lastIndex' of undefined
- UEditor使用及Cannot set property 'innerHTML' of undefined 及Cannot read property 'replace' of undefine
- 浏览器cannot read property 'msie' of undefined的解决方法
- 浏览器cannot read property 'msie' of undefined的解决方法
- JS: Cannot read property 'innerHTML' of undefined错误
- 关于js页面:cannot read property 'call' of undefined
- Cannot read property 'name' of undefined @ injectScripts.min.js:1
- background.js Uncaught TypeError: Cannot read property 'xxx' of undefined
- Android ListView Item加载动画JazzyListView
- Msgpack 0.6.11 version code view
- Linux下用RPM方式安装MySQL
- 关于DLL中new在主程序中释放的问题
- 排序检索 10420-List of conquests
- Cannot set property 'display' of undefined【利用Chrome浏览器查看js语法错误】
- HDOJ 1166 敌兵布阵【模板】
- BZOJ2555: SubString
- maven+springMVC+mybatis+junit详细搭建过程
- linq to xml
- HDU 1159 Common Subsequence(LCS)
- 用C#开发TUXEDO客户端(其中有tuxedo的函数说明)
- java 可变参数获取参数名
- 当RxLifecycle遇到MVP 在P中没有Bind怎么破?