$()和getElementById()的区别

时间:2022-05-12 05:55:12

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. C&num;将Enum枚举映射到文本字符串

    介绍 当将以前的C代码移植到C#中时,我快发疯了,因为有很多的数组需要将常量映射到字符串.当我在寻找一个C#的方法来完成的时候,我发现了一个自定义属性和映射的方法. 如何使用代码? 对每一个enum枚 ...

  2. PDB文件:每个开发人员都必须知道的

    PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05 ...

  3. 无意发现vim里插入模式可以借助Alt键输入一些特殊字符

    无意发现vim里插入模式可以借助Alt键输入一些特殊字符.如: Alt+w: ÷ Alt+:: » Alt+f  :  æ Alt+ . :  ® Alt+ ? :  ¯...

  4. 在C&num;中子线程如何操作主窗口线程上的控件

    在C#中子线程怎样操作主线程中窗口上控件 在C#中,直接在子线程中对窗口上的控件操作是会出现异常,这是因为子线程和运行窗口的线程是不同的空间,因此想要在子线程来操作窗口上的控件.是不可能简单的通过控件 ...

  5. cocos2D(五岁以下儿童)---- CCNode

    本将主要介绍下CCNode这个类.CCNode是全部节点的基类,当中包含我们经常使用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等.它是一个不可以可视化显示的抽象类,仅仅 ...

  6. python经典例题100题01

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? ans = [i*100+j*10+k for i in range(1, 5) for j in ra ...

  7. &period;Net基础——程序集与CIL

    1. 程序集和CIL: 程序集是由.NET语言的编译器接受源代码文件产生的输出文件,通常分为 exe和dll两类,其中exe包含Main入口方法可以双击执行,dll则需要被其他程序集调用执行. CIL ...

  8. Linux Namespace &colon; 简介

    在初步的了解 docker 后,笔者期望通过理解 docker 背后的技术原理来深入的学习和使用 docker,接下来的几篇文章简单的介绍下 linux namespace 的概念以及基本用法. na ...

  9. LVS集群简介及使用

    什么是集群 一组通过高速网络互联的计算组,并以单一系统的模式加以管理 将很多服务器集中在一起,提供一种服务,在客户端看来就象是只有一个服务器 可以在付出较低成本的情况下获得在性能,可靠性,灵活性方面的 ...

  10. 设计模式&lpar;20&rpar;--State&lpar;状态模式&rpar;--行为型

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式 ...