Uncaught TypeError: document.getElementsById is not a function
今天博主终于开始攻关javascript(俗称js)了,不过要注意了,它和java可是一丁点关系都没有,就像老婆饼和老婆一样。
下面就让我们来讨论一下博主这次犯下的低级错误吧
一、背景(解决方法在文末)
今天博主要实现的内容是,点击按钮设置后,会获取input文本框内输入的文本内容,代码如下(会报错):
<div class="box1">属 性:<input type="text" class="sub1" placeholder="请输入CSS属性"></div>
<div><input id="sub" type="submit" value="设置"></div>
<script>
var SubOneValue = document.querySelector('#sub')
SubOneValue.onclick = function (){
Sub = document.getElementsById('sub1')
console.log(Sub.value)
</script>
页面布局如下(上面达到代码不会显示属性值这一行元素的内容)(好吧,博主偷了个懒):

这里需要注意:
console.log(Sub.value)
这行代码的目的是用来显示input输入框内输入的内容的,类似于python中的print()函数,让我们可以更直观的判断代码运行是否正确
二、解决办法
这里运行上面的代码会出现如下报错:

解决办法就是把Elements的s去掉就没问题了(是不是很简单)
False:Sub = document.getElementsById('sub1')
True:Sub = document.getElementById('sub1')
针对中二个低级的错误,博主一开始是吧属性值设置成了class,而不是id(为了试试通过class查找标签的方法)。尝试完毕,博主为了图方便直接把后面的ClassName修改成了Id,就导致了elements后面的s没有删掉,因为id是唯一的,所以对应的元素标签只能是一个,而不像class的不唯一可以搜的多个标签。
不过需要注意的是,按钮的属性值最好设置id,不要设置成class,因为class的属性名可以重复使用在其他标签上,而id则是唯一对应的,这样会避面后期一些事件的触发失败问题。
今天的分享就到这里啦~
感谢阅读~
end...
Uncaught TypeError: document.getElementsById is not a function的更多相关文章
- jquery.js 3.0报错, Uncaught TypeError: url.indexOf is not a function
转载自:http://majing.io/questions/432 问题描述 jQuery升级到3.0.0后类型错误 jquery.js:9612 Uncaught TypeError: url ...
- Uncaught TypeError: (intermediate value)(...) is not a function 上一个方法结束没有加分号; 代码解析报错
Uncaught TypeError: (intermediate value)(...) is not a function 别忽略了, 第一个方法后面的结束 分号; 不起眼的,引来麻烦, 哎,规 ...
- jquery3.1.1报错Uncaught TypeError: a.indexOf is not a function
jquery3.1.1报错Uncaught TypeError: a.indexOf is not a function 使用1.9就没有问题,解决办法: 就是把写的代码中: $(window).lo ...
- 使用zepto中animate报错“Uncaught TypeError: this.bind is not a function”的解决办法
在使用zepto时,我先引入zepto.min.js,然后引入fx.js,但是在使用animate函数时,控制台却报如下错误: Uncaught TypeError: this.bind is not ...
- jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function
jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function 使用.load()绑定事件时报错,Uncaught TypeError: e.i ...
- 简记webpack运行报错 Uncaught TypeError: self.postMessage is not a function
说好2017Fix的还是能重现,可能项目的版本比较旧了,简要记录解决办法 1.错误: index.js?bed3:67 Uncaught TypeError: self.postMessage is ...
- jQuery报错:Uncaught TypeError: _this.attr is not a function
问题:想通过延时把置灰的按钮再次复原,代码如下: $("#sendEmailCode").on("click", function() { var _this ...
- vue项目报错1 Vue is a constructor and should be called with the `new` keyword && jquery.js?eedf:3850 Uncaught TypeError: this._init is not a function...
Vue is a constructor and should be called with the `new` keyword Uncaught TypeError: this._init is n ...
- Uncaught TypeError: form.attr is not a function 解决办法
前端form表单提交时遇到个问题,一直报错如下 首先说结论:form是个js对象,不是jQuery对象,不能用jquery对象的方法. 代码是: $(document).ready(function( ...
随机推荐
- CentOS 8 网卡命令使用
之前一直用CENTOS7中service来重启网卡,但是换成CENTOS8后centos8的网卡服务与centos7有所不同,无法通过systemctl或者service命令重启网卡.centos8网 ...
- CF1453D题解
VP 的时候发现的一道数学题( 在思考这个问题之前,先让我们思考一件事:走到距离上一个存档点 \(n\) 的位置的期望是多少?(假设这个值为 \(f[n]\)) 先思考 \(f[1]\) 是多少,很明 ...
- 从此 Typora 代码块有了颜色
起因 平时喜欢用typora记笔记,但是typora默认代码块没有指定语言,没有高亮看着很不舒服,所以用Autohotkey花了半天写了个脚本,按自己的快捷键就可以自动生成代码块并添加语言,这样就方便 ...
- mysql之常用函数(核心总结)
为了简化操作,mysql提供了大量的函数给程序员使用(比如你想输入当前时间,可以调用now()函数) 函数可以出现的位置:插入语句的values()中,更新语句中,删除语句中,查询语句及其子句中. 聚 ...
- Java将彩色PDF转为灰度
本文以Java代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即:将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.toGrayPdf()方法转为文档页面 ...
- 说说UI自动化中的PO模式
PO模式,全称PageObject模式,即页面对象模式.将页面定位与业务操作分离. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余率低 了解了po模式及 ...
- 磁盘管理--如何在VMware上给centos7增加一块磁盘
一. 实验环境 VMware Workstaion + Centos7 二.实验步骤 1.关闭虚拟机,添加磁盘 2.添加硬件向导 硬件类型 你要安装哪类硬件? 点击完成观察到已经成功添加磁盘 3.开启 ...
- web安全常用端口
21 FTP 22 SSH 23 Telent 25 SMTP 53 DNS 80 HTTP 135 139 443 HTTPS 445 SMB 1433 SQLSERVER 1521 ORCAL 3 ...
- Ubuntu下交换Alt和Ctrl (适用于任何按键修改)
在 Ubuntu 下交换Alt和Ctrl键: sudo vim /usr/share/X11/xkb/keycodes/evdev 或者用系统默认编辑器打开: sudo xdg-open /usr/s ...
- Redis常见问题及其场景问题
假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以 某个固定的已知的前缀开头的,如果将它们全部找出来? 使用 keys 指令可以扫出指定模式的 key 列表. 对方接着追 ...