我设法让代码在满足条件时更改具有功能的按钮的类。问题是我不想为所有元素重复此操作,但在使用document.getElementById('buy'+gen)
而不是document.getElementById('buyhotdog')
时它不起作用。我将在下面提供"工作代码"以及我试图开始工作的代码。
工作代码:
function changeButtonHD() {
if (money < hotdog.cost) {
document.getElementById('buyhotdog').className = 'buttongrey';
}
else {
document.getElementById('buyhotdog').className = 'button';
}
}
它适用于:使用window.onload激活的区间中的changeButtonHD();
。
非工作代码:
function changeButtonBC(gen) {
if (money < gen.cost) {
document.getElementById('buy'+gen).className = 'buttongrey';
}
else {
document.getElementById('buy'+gen).className = 'button';
}
}
我试图让它与changeButtonHD(hotdog);
答案 0 :(得分:2)
此处:gen.cost
您显示gen
是一个名为cost
的属性的对象。
此处:'buy'+gen
您使用get
,就好像它是一个字符串一样。除非您已覆盖.toString()
,否则"[object Object]"
将不是"hotdog"
。
您似乎正在尝试使用最初保存传递给changeButtonHD
的值的变量的名称,但您不能(因为您传递了它的值而不是其名称)。
使"hotdog"
该对象上的属性值,然后使用'buy' + gen.name
。
答案 1 :(得分:1)
gen类型是对象,所以如果你想获得gen值,你的gen变量格式应该是这样的
WebView webview = ...;
String path = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.imprint);
webview.loadUrl(path);
}