JQuery对象与元素对象

时间:2014-04-04 17:27:19

标签: jquery object

有人能告诉我以下行返回的对象之间的区别吗?

我知道的第一行返回ID为" divID"的元素对象。 我认为第二个做了同样的事情,但结果对象的行为彼此不同......

换句话说,我认为domObject等同于jqObject ...

var domObject = document.getElementById("rowID");
var jqObject = $("#rowID");

4 个答案:

答案 0 :(得分:1)

不同之处在于,一个是jQuery对象,另一个不是。 jQuery objects have their own methods

但是,它们是可以内部转换的。您可以使用.get()或仅[number]从jQuery对象中提取单个DOM元素:

var domObject = $jqObject[0];

要反过来,只需将其包装在jQuery函数中:

var $jqObject = $(domObject);

答案 1 :(得分:0)

第一个使用浏览器的内置方法返回DOMElement。 - Javascript

第二个返回一个jQuery对象,该行作为其唯一成员。您可以在对象上使用jQuery函数来操作它。 - Jquery

答案 2 :(得分:0)

  

var domObject = document.getElementById(" rowID");

这将返回一个对象,该对象公开本机javascript API(由当前ECMAScript Specification定义)和DOM API(详见w3.org)。

  

var jqObject = $("#rowID");

这将返回一个公开jQuery API的对象。 jQuery使用一组可用的函数创建一个对象。它还在该对象上使用索引数组,该数组将匹配元素集保存到选择器。使用的选择器匹配css选择器,在这种情况下匹配id" rowID",如果它匹配一个类,' .rowClass',那么它将返回一组元素匹配该类的数组。这些元素可以通过jquery对象上的索引访问,jqObject [0]是第一个,[1]是第二个(如果存在)等。

以这种方式提取元素将返回本机元素。可以以许多不同方式引用该本机元素。例如,它通常分配给this变量。

$("#rowID").each(function(){
 var nativeElement = this;//same as domObject
});

$("#rowId").click(function(){
 var nativeElement = this;//same as domObject
});

答案 3 :(得分:-1)

它们应该是相同的,问题可能是你没有#rowID

的引号

试试这个: var jqObject = $("#rowID");