document.getElementById("id").value与$("#id").val()之间的区别
本文链接:https://blog.csdn.net/mottohlm/article/details/78364196
....
今天在项目中遇到这么一个JS报错:
原因是代码中有这么一段:
对,就是
varotherWageChageType =document.getElementById("otherWageChageType").value;
中的“otherWageChageType”这个ID不存在导致的。
因为JS报错,导致页面死掉不动了。
如果把这句改为
$("#otherWageChageType").val();
却不会报错 ,只是 varotherWageChageType
取得的值是undefined ,页面不会报错,更不会死掉,只是后续用此值所要做的判断没法得到正确想要的结果而已。
就用户体验来说,用jquery的更好些。
其实
document.getElementById("id") 得到 的是[object HTMLDivElement]一个DOM对象;
$("#id") 得到 的是[object Object]一个Jquery 对象。
明显经过封装后的jquery 对象对我们更友好点,中间经过判断优化 使得 $("#id").val() 这个方法一定不会报错。
另外再说一点,其实这两个对象是可以相互转换的哦
$(document.getElementById("id")) 就可以由一个DOM对象变为一个Jquery 对象了;
$("#id")[0] 或是$("#id").get(0) 就可以由一个jquery 对象变为一个DOM对象了。
————————————————
版权声明:本文为CSDN博主「mottohlm」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mottohlm/article/details/78364196
document.getElementById("id").value与$("#id").val()之间的区别的更多相关文章
- 富文本的一般处理方式,document.getElementById('富文本的ID').contentWindow.document.body.innerHTML = '%s'" %(content)
如果套不出来,去问前端开发帮忙吧 哈哈
- 创建母版页导致js出现“ 'document.getElementById(...)' 为空或不是对象”错误
导读:一个控件在设计时的ID往往不同于生成页面后的ID,为了获得控件客户端ID,我们可以从生成的页面入手,冷静思考,把握主次,从底层框架入手 本文将为大家介绍一下 ASP.NET中在创建母版页时引来的 ...
- js用document.getElementById时要注意!
<!DOCTYPE html> <html lang="en"> <head> <script src="http://code ...
- Id.value与document.getElementById("Id").value的区别
如果标签Id在Form表单里面的话,直接Id.value就不能用了,而是要用Form.Id.value来取值或设置值 所以最好用document.getElementById("Id&quo ...
- jquery中的$("#id")与document.getElementById("id")的区别
以前一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天做特效的时候才发现并不是这 ...
- 获得输入框的文本document.getElementById('id').value;
<input id="demo" type="text" value="" > x=document.getElementByI ...
- Document.getElementById 与 $('#id')的区别
一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天才发现并不是这么一回事,通过测 ...
- jquery 中的 $("#id") 与 document.getElementById("id") 的区别
以前没注意过,认为jquery 中的 $("#air") 与 document.getElementById("air") 是一回事,指的是同一个东西.在今天写 ...
- function $(id){ return document.getElementById(id); }导致所有的js不能用解决办法。。。。
function $(id){ return document.getElementById(id); } document.getElementById(id) 是获得id这个元素的. 相当于定义了 ...
随机推荐
- 关于在ssm下创建项目使用阿里巴巴下的druid数据库报错,出现无法创建连接的原因
报错原因:外部jdbc.driver使用原生jdbc驱动jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:///yonghedb?charact ...
- 清北学堂—2020.1提高储备营—Day 1 afternoon(二分、分治、贪心)
qbxt Day 1 afternoon --2020.1.17 济南 主讲:李佳实 目录一览 1.二分法 2.分治 3.贪心 总知识点:基础算法 一.二分法 (1)算法分析:二分法是一种暴力枚举的优 ...
- vue 学习2
模板指令.属性总结 html 中的标签属性 1. :class 值是对象,key为class 的值,值为boolean类型 html标签任意属性都可以:属性,表示动态值(值是变化的,不是固定不变的) ...
- Laravel框架中通过EasyWeChat发送公众号模板消息
环境要求 PHP >= 7.0 PHP cURL 扩展 PHP OpenSSL 扩展 PHP SimpleXML 扩展 PHP fileinfo 拓展 使用composer安装: $ compo ...
- python之路(内存,小数据池,编码等)
代码块: python真正的代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 但是,在python终端交互模式下,每一条代码都是一个代码块 python在同一个代码块中的变量,初始化对象 ...
- kali的virtualbox镜像账号密码
下载最新版本kali的virtualbox镜像 默认账号密码 root 密码 toor
- STL版本
STL - Standard Template Library , 是C++标准里面规定的模板库接口规范,但它只是接口规范,没有规定具体怎么实现. STL是C++标准的一部分,所以每个C++编译器都会 ...
- SpringBoot的应运而生
随着动态语言的流行(Ruby,Groovy,Scala,Node.js),java的开发显得格外的笨重,繁多的配置,低下的效率,复杂的部署流程以及第三方技术集成难度大.springboot应运而生,使 ...
- Golang 简单的读负责均衡
read-loadbalance master-slave(n) 读库集群负载均衡器(简单轮询)+时间间隔错峰. github 地址:https://github.com/Plen-wang/read ...
- Extreme Learning Machine
Extreme Learning Machine 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. ELM 2004年南洋理工大学黄广斌提出了ELM ...