单击事件和多个数据对象

时间:2011-12-03 20:37:12

标签: javascript jquery

我想知道如何获取已在某个集合中点击的项目的索引,例如ul li中的列表?

如何在包含多个标签的点击事件中访问该数据?

在下面的点击事件中,有一个数据字段,我想获得与所点击项目的索引相对应的数据。

我该怎么做?

$(this).find('.tabs .tab').on('click', 'a span', { tab: 'Sale-Items', tab: 'All-Items' }, function (e) {
     alert(e.data.tab[0]); // <-- doesn't work
     $(this).unwrap('<a href="#"></a>').end()
     $(this).parent().siblings().each(function () {
         $(this).find('span:not(a span)').wrap('<a href="#"></a>');
     });
 });

2 个答案:

答案 0 :(得分:2)

很难确切地告诉您想要什么,但如果您想要点击该元素的li的索引编号,请执行以下操作:

var index = $(this).closest('li').index();

我不知道你要做什么:

{ tab: 'Sale-Items', tab: 'All-Items' }

对象不能具有重复的属性。但您可以使用event.data.tab

访问数据

也许您打算使用数组:

['Sale-Items', 'All-Items']

event.data[0]

或者你可以有一个引用你的数组的对象:

{tab:['Sale-Items', 'All-Items']}

event.data.tab[0]

答案 1 :(得分:0)

如果尝试这样的话:

http://jsfiddle.net/jlrvpuma/GTZxc/2/