0

我是 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、2 与 B 等映射?

谢谢 !

4

3 回答 3

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

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

当然,为具有此类 id 的元素添加检查功能是否存在等...

于 2013-05-31T21:26:03.693 回答
0
var call_arr = ['a', 'b', 'c', 'd'];

$('click a random button').click(function(){
    var ind = $('li.active').index();
    alert(call_arr[ind]); 
});
于 2013-05-31T21:27:55.070 回答
0

试试这个。

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

$('.tabs li').click(function(){
    alert(data[$(this).index()].toUpperCase()); 
});
于 2013-05-31T21:29:59.990 回答