本文链接: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()之间的区别的更多相关文章

  1. 富文本的一般处理方式,document.getElementById('富文本的ID').contentWindow.document.body.innerHTML = '%s'" %(content)

    如果套不出来,去问前端开发帮忙吧 哈哈

  2. 创建母版页导致js出现“ 'document.getElementById(...)' 为空或不是对象”错误

    导读:一个控件在设计时的ID往往不同于生成页面后的ID,为了获得控件客户端ID,我们可以从生成的页面入手,冷静思考,把握主次,从底层框架入手 本文将为大家介绍一下 ASP.NET中在创建母版页时引来的 ...

  3. js用document.getElementById时要注意!

    <!DOCTYPE html> <html lang="en"> <head> <script src="http://code ...

  4. Id.value与document.getElementById("Id").value的区别

    如果标签Id在Form表单里面的话,直接Id.value就不能用了,而是要用Form.Id.value来取值或设置值 所以最好用document.getElementById("Id&quo ...

  5. jquery中的$("#id")与document.getElementById("id")的区别

    以前一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天做特效的时候才发现并不是这 ...

  6. 获得输入框的文本document.getElementById('id').value;

    <input id="demo" type="text" value="" > x=document.getElementByI ...

  7. Document.getElementById 与 $('#id')的区别

    一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天才发现并不是这么一回事,通过测 ...

  8. jquery 中的 $("#id") 与 document.getElementById("id") 的区别

    以前没注意过,认为jquery 中的 $("#air") 与 document.getElementById("air") 是一回事,指的是同一个东西.在今天写 ...

  9. function $(id){ return document.getElementById(id); }导致所有的js不能用解决办法。。。。

    function $(id){ return document.getElementById(id); } document.getElementById(id) 是获得id这个元素的. 相当于定义了 ...

随机推荐

  1. maven的核心概念——创建war工程

    第十七章第四个Maven工程(war工程) 17.1 创建步骤 ①第一步:创建maven web工程 ②第二步:修改web.xml <?xml version="1.0" e ...

  2. sc 与 net 命令

    查看命令的帮助: help sc 或者 help net net: net start mysql  打开服务 net stop mysql 关闭服务 net pause mysql 暂停服务 sc ...

  3. Android ListView的批量处理(多选/反选/删除)

    在Android开发中经常遇到使用ListView的情况,有时候需要的不仅仅是列表显示,还有长按列表进行多选,并且批量删除的情况,在这里记录一下自己的所学. 先上效果图: 几个需要用到的核心方法: / ...

  4. 3个N加上各种运算符号结果等于6(纯属娱乐)C#

    网上的题目: 题有点难  但都有解 2    2    2  =  6 3    3    3  =  6 4    4    4  =  6 5    5    5  =  6 6    6     ...

  5. pyqt5-下拉框联动效果

    from PyQt5.Qt import * class MyWindow(QWidget): def __init__(self): super().__init__() self.setWindo ...

  6. Java同步和异步过程中消息语言国际化处理策略

    在Java后端做消息内容的语言国际化处理时可以通过Spring中MessageSource接口的来实现,但是MessageSource接口需要用到Locale对象, 而Locale类又是根据前端传过来 ...

  7. ASP.NET Core SignalR 使用

    SignalR: 实时 Web 功能使服务器端代码能够即时将内容推送到客户端(包括B/S,C/S,Andriod).   SignalR最新版本为3.0(截止2020-02-28)   SignalR ...

  8. Tomcat 后台war部署上传shell

    tomcat的后台登录的两个目录为: /admin /manager/html 如果版本过高,只有采用弱密码的方式进后台: 有些tomcat采用默认的用户名和密码(用户名:admin,密码:空): 或 ...

  9. Matrix Sum HihoCoder - 1336 二维树状数组 感觉好像二维差分。

    #include<cstdio> #include<cstring> using namespace std; typedef long long ll; ; ; ll c[N ...

  10. python scraping webs - python取得NIPS oral paper列表

    from lxml import html import requests # using xpath # page = requests.get('http://econpy.pythonanywh ...