Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';警报';单击时显示对象属性_Javascript_Jquery_Properties_Alert_Javascript Objects - Fatal编程技术网

Javascript ';警报';单击时显示对象属性

Javascript ';警报';单击时显示对象属性,javascript,jquery,properties,alert,javascript-objects,Javascript,Jquery,Properties,Alert,Javascript Objects,我有一个构造器,然后用它生成对象库\u science1: 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); 我有一个点击功能: $("

我有一个构造器,然后用它生成对象库\u science1:

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);
我有一个点击功能:

$("[id^='library_']").click(function() {
var idd = this.id;
            alert(idd);
});
其中html是简单的

<span id='library_science1'></span>
但是我有很多库对象,每个都对应于自己的库对象

我试图根据单击的对象属性来提取对象属性。例如:

$("[id^='library_']").click(function() {
            alert(this.id.food);
});

最终目的是我最终可以做以下事情:

foodamount -= this.id.food

为什么这不起作用:/:(

仅仅是因为您在第一个示例中访问的是一个对象,而不是在另一个示例中访问的DOM对象,如果它们的OBEJTO是全局的,那么您就可以访问

alert(window[this.id].food);


仅仅因为您在第一个示例中访问的是一个对象,而不是另一个示例中的DOM对象,如果它们的OBEJTO是全局的,那么您就可以访问它们

alert(window[this.id].food);


我在这里使用eval()进行了测试,结果如下:

$("[id^='library_']").click(function() {
            alert(eval(this.id).food);
});

$("[id^='library_']").click(function() {
    var x = eval(this.id);
            alert(x.food);
});

我在这里使用eval()进行了测试,结果如下:

$("[id^='library_']").click(function() {
            alert(eval(this.id).food);
});

$("[id^='library_']").click(function() {
    var x = eval(this.id);
            alert(x.food);
});

你的意思是:
window[this.id].food
??你不是在混合变量的名称和span-id吗?@A.Wolff我试过了,一点帮助都没有,也许可以详细说明一下?如果你的变量是全局的,你可以使用:
window[this.id]访问它
@NathanP.Yes,但这样做肯定意味着我可以提取对象属性,因为对象名称与span ID匹配?你的意思是:
window[this.ID].food
???你不是在混合变量名和span id吗?@A.Wolff我试过了,没有任何帮助,也许会详细说明一下?如果你的变量是全局变量,你可以使用:
window[this.id]
@NathanP访问它。是的,但这样做肯定意味着我可以提取对象属性,因为对象名与span id匹配?
$("[id^='library_']").click(function() {
            alert(eval(this.id).food);
});

$("[id^='library_']").click(function() {
    var x = eval(this.id);
            alert(x.food);
});