所以,这是代码:
$('li.list').on('click', function(){
console.log(this.id);
var temp = template(library) ;
console.log(temp);
$('.infotemplate').append(temp);
});
当我记录this.id时,它给了我正确的ID,即库。但是当我将它传递给template()函数时,它不会解析我的对象库的细节。但是当我明确地将库作为function()中的参数传递时,它会提供正确的输出。 所以,我动态地想要这个,当用户点击该id时,与id相同名称的对象将在后面的主体中附加。
$('li.list').on('click', function(){
console.log(this.id);
var temp = template(this.id) ;
console.log(temp);
$('.infotemplate').append(temp);
});
我该如何解决这个问题?请帮忙..
答案 0 :(得分:0)
不是为每个项创建变量,而是创建一个包含所有项的对象,并使用id
从该变量访问它们。
您目前正在做的是传递字符串库而不是带有该名称的变量。
var items = {
library : {icon:'..', title:'...',..},
cityhall: {..},
...
}
并使用
$('li.list').on('click', function(){
console.log(this.id);
var temp = template(items[this.id]) ;
console.log(temp);
$('.infotemplate').append(temp);
});