$()和getElementById()的区别
jQuery的成功多归功于其强大的选择器。
然而,相信不少初学jQuery的同学都会遇到下面的问题。
在javascript下,我们可以根据getElementById()来获取页面元素。如下:
var oDiv1 = document.getElementById("divId");
用jQuery就方便多了:
var oDiv2 = $("#divId");
一般我们会认为,这两个东西返回的都是一个ID为"divId"的页面元素对象。但是事实上,这两种东西是不同的:
alert(oDiv1); //返回”[object HTMLDivElement]“
alert(oDiv2); //返回”[object object]“
可以看出oDiv1确实是一个页面元素对象,但是oDiv2又是什么对象呢?
oDiv1.innerHTML = "111" ; //生效
oDiv2.innerHTML = "111" ; //不生效,证明oDiv2不是指id为”divId“的页面元素
我们再通过浏览器控制台来看一下它们分别是什么:
> oDiv1
< <div id="divId">
> oDiv2
< [<div id="divId">]
可以看出oDiv2其实是个数组对象!
事实上,jQuery选择器返回的都是数组对象,数组里面才会放置页面元素对象,而getElementById()返回的就是一个页面元素对象。
所以当我们要对像oDiv2进行操作的时候,就要这样:
oDiv1.innerHTML = "111" ; //生效
oDiv2[0].innerHTML = "111" ; //生效 //---> oDiv1 = oDiv2[0] :)
随机推荐
- tabBar隐藏与显现 hidesBottomBarWhenPushed
这个问题说简单也简单 但是如果不知道 可会让很多人吃苦 隐藏UITabBarController的tabBar, 我用它的一个属性hidesBottomBarWhenPushed隐 藏了,可以pop ...
- [C++]unordered_map的使用
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value. 不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的ha ...
- PHP搭建简单暴力的mvc
对于一个web系统来说,我们使用mvc很必要, 给我们带来的是清晰的结构,易运维,易扩展, mvc 我对其的理解应该叫mxvc, 多了一个x , 这个x代表什么,x可以理解为 relay,proxy, ...
- Python框架
Django.Pylons & TurboGears & repoze.bfg.Tornado & web.py.Bottle & Flask.Quixote(豆瓣用 ...
- Android Studio Module疑问
ERROR: APK path is not specified for module From your existing project, go to 'File' -> 'Project ...
- 新学习的Python的代码(while循环)
直接上代码: # while.py number = 23 isRun = True while isRun: intt = int(raw_input('请输入一个整数 : ')) if intt ...
- RedMine 版本管理工具
一.介绍: Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集 ...
- 手把手教程 Surface如何进行系统恢复?
手把手教程 Surface如何进行系统恢复? 2015-01-29 05:53:00 [ 中关村在线 原创 ] 作者: 周博林 | 责编:周博林 收藏文章 分享到 评论(10) Windo ...
- Oracle EBS-SQL (GL-5):从发票追溯到接收
SELECT destination_type_code, distribution_line_number, line_type, amount,vat_code, tax_code_id, tax ...
- 奇怪的问题:android:focusable和android:clickable造成ListView的点击不了
今天花了我很长时间,才解决一个很奇怪的问题,就是在ListView的点击反应不了的问题…… 在ListView中,如果其中一个元素设置为android:focusable="true&quo ...