Javascript 将Jquery对象添加为另一个对象的键

Javascript 将Jquery对象添加为另一个对象的键,javascript,jquery,Javascript,Jquery,可以将jQuery对象作为关键字添加到空白对象中。例如:- var obj = {};//blank object var myId = $("#myId");//jQuery Object var myId2 = $("#myId2");//another jQuery Object obj[myId] = "Trying to add myId as a key"; obj[myId2] = "Trying to add myId2 as a key"; 但是obj的输出只包含一个键。

可以将jQuery对象作为关键字添加到空白对象中。例如:-

var obj = {};//blank object

var myId = $("#myId");//jQuery Object
var myId2 = $("#myId2");//another jQuery Object

obj[myId] = "Trying to add myId as a key";
obj[myId2] = "Trying to add myId2 as a key";
但是obj的输出只包含一个键。上述内容在JS中是否可行


提前感谢。

您必须使用字符串作为属性名(例如jquery对象的id?)。

请参见

您必须使用字符串作为属性名(例如jquery对象的id?)。

请参见

如果要保留对对象的引用,可以使用对象数组而不是对象:

[
   {
      "jQueryElement": myId1,
      "note": "Trying to add myId as a key"
   },
   {
      "jQueryElement": myId2,
      "note": "Trying to add myId2 as a key"
   }
]
然后您将能够执行以下操作:

function getNoteOfJqueryObj(element) {
 element = $(element);
 for (var i in array) {
     if (array[i].jQueryElement[0] == element[0]) {
         return array[i].note;
     }
 }
 return undefined;
}
我想这是你能选择的最好的方法之一


如果要保留对对象的引用,可以使用对象数组而不是对象:

[
   {
      "jQueryElement": myId1,
      "note": "Trying to add myId as a key"
   },
   {
      "jQueryElement": myId2,
      "note": "Trying to add myId2 as a key"
   }
]
然后您将能够执行以下操作:

function getNoteOfJqueryObj(element) {
 element = $(element);
 for (var i in array) {
     if (array[i].jQueryElement[0] == element[0]) {
         return array[i].note;
     }
 }
 return undefined;
}
我想这是你能选择的最好的方法之一


Javascript将数组键转换为字符串。为什么需要这个?你能告诉我们你想做什么的更多信息吗?@DCoder因此在上面的代码中,它正在将键转换为字符串。但是为什么不将这两个对象都添加为keyn-in对象呢?因为
$('#myId').toString()产生
“[object object]”
,而
$('#myId2')。toString()
也产生
“[object object]”
。您希望如何区分它们?就像运行
obj={};obj.foo=1;obj.foo=2并询问为什么只得到一个键。警报($('div').toString()===$('input').toString())=>true为什么不使用
obj={'myId':$('myId'),'myId2':$('myId2')Javascript将数组键转换为字符串。为什么需要这个?你能告诉我们你想做什么的更多信息吗?@DCoder因此在上面的代码中,它正在将键转换为字符串。但是为什么不将这两个对象都添加为keyn-in对象呢?因为
$('#myId').toString()产生
“[object object]”
,而
$('#myId2')。toString()
也产生
“[object object]”
。您希望如何区分它们?就像运行
obj={};obj.foo=1;obj.foo=2并询问为什么只得到一个键。警报($('div').toString()===$('input').toString())=>true为什么不使用
obj={'myId':$('myId'),'myId2':$('myId2')