0

我可以将 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中是否可行?

提前致谢。

4

2 回答 2

2

您必须使用字符串作为属性名称(例如 jquery 对象的 id?)。
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

于 2013-07-26T14:58:58.530 回答
1

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

[
   {
      "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;
}

我想这是您可以选择的最佳方式之一。

JSFIDDLE

于 2013-07-26T15:10:03.730 回答