单个JavaScript单击事件中的多个ID

在JavaScript中,我使用click事件来更改图表数据。 以下是点击事件的方法。

$('#pro1').click(function () { chart.series[0].update({ data: pro1 }); }); $('#pro2').click(function () { chart.series[0].update({ data: pro2 }); }); $('#pro3').click(function () { chart.series[0].update({ data: pro3 }); }); 

我需要在一个事件中缩小这三个单击事件,这意味着我想编写一个处理id的click事件。 有点像下面的代码。

 $('#pro'+i).click(function () { chart.series[0].update({ data: pro+i }); }); 

我不知道该怎么做。 上面的代码不正确,只是我对JavaScript缺乏了解。

我建议创建一个对象并使用类选择元素,clicked元素的id检索辅助对象的相应属性的值:

 var pros = { pro1: '...', pro2: '...' }; $('.pros').click(function () { chart.series[0].update({ data: pros[this.id] }); }); 

试试这个:

 var that = this; $('#pro1,#pro2,#pro3').click(function () { chart.series[0].update({ data: that[$(this).attr('id')]; }); }); 
 $('#pro1,#pro2,#pro3').click(function () { chart.series[0].update({ data: $(this).attr('id'); }); }); 

更新的代码

 $('#pro1,#pro2,#pro3').click(function () { chart.series[0].update({ data: window[this.id] }); }); 

使用课程。

 $('.pro').click(function () { chart.series[0].update({ data: $(this).attr('id'); }); }); 

然后在每个#pro1,#pro2,#pro3元素上添加一类’pro’

 $("*[id^=pro]").click(function () { chart.series[0].update({ data: $(this).attr('id'); }); }); 

您可以为所有元素提供类名,并在jQuery中使用:eq()选择器。