有人能告诉我以下行返回的对象之间的区别吗?
我知道的第一行返回ID为" divID"的元素对象。 我认为第二个做了同样的事情,但结果对象的行为彼此不同......
换句话说,我认为domObject等同于jqObject ...
var domObject = document.getElementById("rowID");
var jqObject = $("#rowID");
答案 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");