使用jQuery / Javascript中的事件值映射id值

时间:2013-05-31 21:22:32

标签: javascript jquery events map

我是javascript / jQuery的新手,我正在尝试根据id是否处于活动状态来找到触发事件的最智能方法:

<ul class="tabs">
<li id="1" class="active"><a href="#"></a></li>
<li id="2"><a href="#"></a></li>
<li id="3"><a href="#"></a></li>
<li id="4"><a href="#"></a></li>
</ul>

规则如下所示变得有点困难:

  

如果id = 1处于活动状态,则触发警报(“A”),如果id = 2是活动触发器   警报(“B”)如果id = 3是活动的触发警报(“C”),如果id = 4是活动的   触发警报(“D”)

我可以使用什么功能将1与A映射1,将2与B等映射?

谢谢!

3 个答案:

答案 0 :(得分:0)

var functionsMap = {
    "id1": function() { ... },
    "id2": function() { ... },
    ...
};

$('.tabs li').on('click', function() {
    var id = $(this).attr('id');
    functionsMap[id]();
});

当然,添加检查是否存在具有此类id的元素的函数...

答案 1 :(得分:0)

var call_arr = ['a', 'b', 'c', 'd'];

$('click a random button').click(function(){
    var ind = $('li.active').index();
    alert(call_arr[ind]); 
});

答案 2 :(得分:0)

试试这个。

var data = ['a', 'b', 'c', 'd'];

$('.tabs li').click(function(){
    alert(data[$(this).index()].toUpperCase()); 
});