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] :)

随机推荐

  1. mybatisnet轻量级ORM框架

    https://code.google.com/p/mybatisnet/source/checkout http://blog.csdn.net/arvinstudy/article/details ...

  2. 动画原理——绘画API

    书籍名称:HTML5-Animation-with-JavaScript 书籍源码:https://github.com/lamberta/html5-animation 1.canvas的conte ...

  3. xcode7 没有Empty Application

    如果你想创建xcode6.01之前版本提供的空工程,其实很简单.1:选择模板 Single View Application2:选中 Main.storyboard,将其删除3:选择项目的 plist ...

  4. 浅谈C中的指针和数组(七)

    现在到揭露数组名本质的时候了,先给出三个结论: (1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组: (2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量: ( ...

  5. jquery实现点击改变背景色,点击其他恢复原来背景色,被点击的改变背景色

    实现这个功能很简单,可是之前自己不怎么熟悉jquery,感觉各种乱写.现在终于整理好了思路. html: <div class="managementPanel"> & ...

  6. Javascript 缓冲运动——逐行分析代码,让你轻松了解缓冲运动的原理

    看过上一篇关于Javascript 匀速运动文章的朋友相信对于运动已经有了初步的了解 接下来 讲一下关于缓冲运动的原理 ,我会逐行分析代码,代码简单易懂,能马上理解其中的原理,适用于初学者. #div ...

  7. System.DateTime的一些格式

    //2008年4月24日     System.DateTime.Now.ToString("D"); //2008-4-24     System.DateTime.Now.To ...

  8. Delphi中的Rtti函数

    TTypeKind,类型类别,tkclass,tkinteger,tkstring等.类,属性都是一种类型. ttypedata,是一个record包括ttypekind.是一个类的描述.TTypeK ...

  9. MFC非模态对话框销毁

    非模态对话框需要重载OnCanel方法, 并调用DestroyWindow, 且不能调用基类的OnCanel重载PostNcDestroy, 需要delete掉this指针 // Overrides  ...

  10. _.remove的用法

    var array = [1, 2, 3, 4]; var evens = _.remove(array, function(n) { return n % 2 == 0; }); console.l ...