我有
function librarytech(humanity,food,wood,metal,wealth)
{
this.humanity=humanity;
this.food=food;
this.wood=wood;
this.metal=metal;
this.wealth=wealth;
}
然后我构建一些:
var library_science1=new librarytech(0,200,200,0,0);
var library_science2=new librarytech(0,4000,0,0,4000);
var library_science3=new librarytech(0,30000,0,0,30000);
然后我有这个.click功能:
$("[id^='library_']").click(function() {
if (humanity >= this.humanity){
humanity -= this.humanity;
food -= this.food;
wood -= this.wood;
metal -= this.metal;
wealth -= this.wealth;
}});
相关HTML的位置如下:
<span id="library_science1"></span>
<span id="library_science2"></span>
<span id="library_science3"></span>
然而它不起作用,我没有收到任何我能看到的错误:/有什么建议吗? (在这些情况下,变量'Humanity'大于0,所以它应该有效吗?
答案 0 :(得分:1)
我宁愿使用数组:
DOM:
<ul id="libraries-science">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
JS:
function librarytech(humanity,food,wood,metal,wealth)
{
this.humanity=humanity;
this.food=food;
this.wood=wood;
this.metal=metal;
this.wealth=wealth;
}
var librariesScience = [];
librariesScience.push(new librarytech(0,200,200,0,0));
librariesScience.push(new librarytech(0,4000,0,0,4000));
librariesScience.push(new librarytech(0,30000,0,0,30000));
$('ul#libraries-science > li').click(function () {
var libraryScience = librariesScience[$(this).index()];
// do your stuff here
});