-1

我得到了很多东西,我打算用javascript制作一个hashmap来让我记住某些东西,其中之一是最近接触过的对象。话虽如此,我很好奇我是否可以创建一个键->值或数组来保存所单击项目的选择器。

我不确定它是否是这样的:

var item = new Array();
$("div.item").click(function(){
   item.push($(this));
});

然后单击的每个项目都添加到数组中,我可以执行以下操作:

$(item).each(function(){
    $(this).css("background-color","red");
});
4

3 回答 3

2

创建一个空的 jQuery 集合并添加到它。

var items = $([]);
$("div.item").click(function(){
   var elem = $(this);
   items = items.add(elem);
});
于 2012-08-10T15:31:03.063 回答
2

您可以使用 jQuery 对象,而不是使用数组:

var $items = $();
$("div.item").click(function () {
   $items = $items.add(this);
});
$items.css('background-color', 'red');

http://jsfiddle.net/b5qaT/

于 2012-08-10T15:33:02.973 回答
-3

您希望将事件作为参数传递给事件处理程序函数。像这样:

$("div.item").click(function(e){...
    e.whateverYouWantToDoWithIt;

该事件是一个 javascript 对象,而不是 jquery。你可以谷歌 javascript 事件方法、属性等,看看你能用它做什么。

编辑 对不起,我读你的问题有点快。如果您想将实际的 DOM 对象(div)存储在数组中,那么是的,您将使用 $(this) 选择器。

于 2012-08-10T15:27:01.320 回答