$()和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] :)
随机推荐
- 检索算法 -- 数据结构与算法的javascript描述 第13章
检索算法-如何在列表中查找特定的值. 顺序查找 从列表的第一个元素开始对列表元素逐个进行判断,直到找到了想要的结果,它属于暴力查找技巧的一种,在执行查找时可能会访问到数据结构里的所有元素. 代码: / ...
- html系列教程--center dl dt dd div
<center> 标签:对其所包括的文本进行水平居中. <datalist> 标签:定义列表,与 input 元素配合使用该元素,来定义 input 可能的值 demo: &l ...
- 初学springMVC搭建框架过程及碰到的问题
刚刚开始学spring框架,因为接了一个网站的项目,想用spring+springMVC+hibernate整合来实现它,现在写下搭建框架的过程及碰到的问题.希望给自己看到也能让大家看到不要踏坑. 一 ...
- iphone--有关日历中NSDateFormatter中英文
在使用日历使用中,获取星期的时候 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFo ...
- json(转)
转自:http://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html 阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用J ...
- Java学习之javassist
1.读取和输出字节码 ClassPool pool = ClassPool.getDefault(); //会从classpath中查询该类 CtClass cc = pool.get("t ...
- Windows Server 2008防火墙问题及Sql Server2005用户登录问题
一.Windows Server 2008防火墙问题 1. 问题: 1.在 Windows 安全中心中单击“立即打开”以打开 Windows 防火墙时,会收到以下错误消息:安全中心无法打开 Wind ...
- WordPress下载安装简单配置实例
1.下载https://cn.wordpress.org/ 2.复制wp-config-sample.php为wp-config.php 3.创建一个wordpress数据库 4.修改wp-confi ...
- scrapy中运行爬虫时出现twisted critical unhandled error错误
1. 试试这条命令: twisted critical unhandled error on scrapy tutorial python python27\scripts\pywin32_posti ...
- ACM大数模板(支持正负整数)
之前就保留过简陋的几个用外部数组变量实现的简单大数模板,也没有怎么用过,今天就想着整合封装一下,封装成C++的类,以后需要调用的时候也方便得多. 实现了基本的加减乘除和取模运算的操作符重载,大数除以大 ...