我是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等映射?
谢谢!
答案 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());
});