Javascript jQuery对象是实际的DOM对象吗?向其添加属性是否正确?

Javascript jQuery对象是实际的DOM对象吗?向其添加属性是否正确?,javascript,jquery,dom,Javascript,Jquery,Dom,通过本文,我发现扩展DOM对象有缺点。 这样做可以吗 var tr = $('<tr>'); tr.myCustomProperty = 'Some string value'; var tr=$(''); tr.myCustomProperty='Some string value'; 我知道jQuery上有一个.data()方法,但上面的方法似乎更容易使用。我还想知道我的tr变量是否包含实际的tr-DOM元素或任何其他类型的对象。Kevin不正确。通过执行以下操作,可以在大多

通过本文,我发现扩展DOM对象有缺点。 这样做可以吗

var tr = $('<tr>');
tr.myCustomProperty = 'Some string value';
var tr=$('');
tr.myCustomProperty='Some string value';

我知道jQuery上有一个
.data()
方法,但上面的方法似乎更容易使用。我还想知道我的
tr
变量是否包含实际的tr-DOM元素或任何其他类型的对象。

Kevin不正确。通过执行以下操作,可以在大多数浏览器的TR中存储某些内容:

var tr = $('tr').eq(0); // get a single TR from the DOM
var actualElement = tr[0]; // get the actual element object from the jQuery object
actualElement.myCustomProperty = 'Some string value';

凯文错了。通过执行以下操作,可以在大多数浏览器的TR中存储某些内容:

var tr = $('tr').eq(0); // get a single TR from the DOM
var actualElement = tr[0]; // get the actual element object from the jQuery object
actualElement.myCustomProperty = 'Some string value';

jQuery在一个名为的特殊数组中处理DOM对象。您可以将其视为DOM元素数组,该数组被扩展为具有所有jQuery方法

您可以访问示例中的DOM元素,如下所示:

tr[0]
但所有不以这种方式存储数据的理由仍然适用


正如@Kevin B所提到的,执行您试图执行的操作(扩展jQuery对象)是不合适的,因为每次重新初始化时都会丢失自定义属性。

jQuery在一个名为的特殊数组中处理DOM对象。您可以将其视为DOM元素数组,该数组被扩展为具有所有jQuery方法

您可以访问示例中的DOM元素,如下所示:

tr[0]
但所有不以这种方式存储数据的理由仍然适用


正如@Kevin B所提到的,执行您试图执行的操作(扩展jQuery对象)是不合适的,因为每次重新初始化时都会丢失自定义属性。

不,它们是jQuery对象。当您重新选择tr或使用生成新jquery对象的方法时,该属性将丢失。不,本质上$('')是一个名为“$”且参数为“”的函数。它不是DOM对象不,它们是jquery对象。当您重新选择tr或使用生成新jquery对象的方法时,该属性将丢失。不,本质上$('')是一个名为“$”且参数为“”的函数。这不是一个DOM对象Kevin的说法是正确的。Diego将该属性添加到jQuery对象中。正如凯文所写,这是个坏主意。凯文的说法是正确的。Diego将该属性添加到jQuery对象中。正如凯文所写,这是个坏主意。