有没有办法将选择器返回到元素?是$(这个)还是其他一些方法?

时间:2012-08-10 15:21:30

标签: javascript jquery

我有很多东西在移动,我打算用javascript制作一个hashmap,让我记住某些东西,其中一个是最近触及的对象。话虽如此,我很好奇我是否可以创建一个key->值或数组来保持点击项目的选择器。

我不确定它是否类似:

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

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

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

3 个答案:

答案 0 :(得分:2)

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

var items = $([]);
$("div.item").click(function(){
   var elem = $(this);
   items = items.add(elem);
});

答案 1 :(得分:2)

您可以使用jQuery对象代替使用数组:

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

http://jsfiddle.net/b5qaT/

答案 2 :(得分:-3)

您希望将事件作为参数传递给eventhandler函数。像这样:

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

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

修改 对不起,我读得很快你的问题。如果你想在数组中存储实际的DOM对象(div),那么你可以使用$(this)选择器。