Javascript 将Jquery对象添加为另一个对象的键
可以将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的输出只包含一个键。
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')代码>