我想做这样的事情:
this.slides = {$('#Page_1') : null,
$('#Page_2') : null,
$('#Page_3') : null};
为什么我这样做,或者我有什么好处?
我不想在整个课程中使用jquery选择器。
this.slides = [{"key": $('#Page_1'), "value": null},
{"key": $('#Page_2'), "value": null},
{"key": $('#Page_3'), "value": null}];
限制:
这种方法的问题在于你必须遍历 每次你想要接近这个整个对象。你应该使用 id作为标识符,效率更高。 - Christoph
答案 0 :(得分:3)
不,键必须是文字。你可以使用你对象的属性。
答案 1 :(得分:2)
如果您的处理基于this.slides内容,为什么不使用id作为密钥?因为它们也意味着“独特”,否则你会破坏DOM。 所以我建议像
这样的东西this.slides = {'#Page_1':null,'#Page_2':null,'#Page_3':null};
对the.slides
的处理进行了非常轻微的修改答案 2 :(得分:1)
为什么不尝试这样的结构:
this.slides = [{"key": $('#Page_1'), "value": null},
etc.];
或者这是否打破了使用对象的需要?
当然,在迭代它时,你必须使用如下逻辑:
for (var i = 0; i < this.slides.length; i++) {
var key = this.slides[i].key;
var value = this.slides[i].value;
}
答案 3 :(得分:1)
您不能将对象用作键,只能使用普通文字。我建议这样的结构:
this.slides = { 'Page_1' : $('#Page_1'),
'Page_2' : $('#Page_2')
'Page_3' : $('#Page_3')};
通过这种方式,您可以使用id
元素轻松访问相应的jQuery-Object。 (您可以省略键的引号。)
slides.Page_1
// or
slides['Page_1']
现在为您提供相应的jQuery对象。