$()和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] :)
随机推荐
- Android开发之自定义Spinner样式的效果实现(源代码实现)
android系统自带的Spinner样式是远远满足不了我们实际开发过程中对Spinner UI风格的要求,因此我们肯定需要为了切合整个应用的风格,修改我们的Spinner样式.系统给我们提供了两种常 ...
- 【双向广搜+逆序数优化】【HDU1043】【八数码】
HDU上的八数码 数据强的一B 首先:双向广搜 先处理正向搜索,再处理反向搜索,直至中途相遇 visit 和 队列都是独立的. 可以用一个过程来完成这2个操作,减少代码量.(一般还要个深度数组) 优化 ...
- JS 匿名函数 自执行
其实就是将函数直接做为表达调用,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数. 常见格式:(function() { /* code */ })(); 解释:包围函数(funct ...
- 自学SQL语言的例子(使用MySQL实现)
SQL语言作为一种数据库管理的标准语言有着极为广泛的应用场景,菜鸟入门选用的数据库软件是轻量级的免费(这个极为重要)的MySQL,下载链接如下:http://www.mysql.com/downloa ...
- nide.js(二)文件I/O
文件I/O fs模块的基本用法 node.js中提供一个名为fs的模块来支持I/O操作,fs模块的文件I/O是对标准POSIX函数的简单封装. 1.writeFile函数的基本用法 文件I/O,写入是 ...
- 十大算法 pagerank 傅里叶变换
来源于最近阅读的一些链接 首先是介绍十大算法的 http://blog.jobbole.com/70639/ 然后是pageRank算法 http://blog.jobbole.com/23286/ ...
- Ubuntu Code::Blocks IDE 13.12 汉化
Ubuntu Code::Blocks IDE 13.12 汉化: 安装很简单,不再赘述. 单说汉化: .下载中文简体汉化包(百度网盘):链接: http://pan.baidu.com/s/1kU3 ...
- php获取post参数的几种方式
php获取post参数的几种方式 1.$_POST['paramName'] 只能接收Content-Type: application/x-www-form-urlencoded提交的数据 2.fi ...
- Linux命令学习之shift命令
位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift ...
- Linux学习之nfs安装配置
安装疑难问题: 1.检查系统是否开启nfs服务:service nfs status 结果显示nfs: unrecognized service,说明系统没有安装nfs服务,so 安装之: 注意,yu ...