这一切似乎工作得很好只是真正奇怪的是当我尝试用.html('g'+ index)引用var时它会抛出一个对象预期的错误。我猜测构建var不是最好的事情吗?
var g0 = "<?php getFiles("gallery/Audience"); ?>";
var g1 = "<?php getFiles("gallery/Exhibition"); ?>";
var g2 = "<?php getFiles("gallery/registration"); ?>";
var g3 = "<?php getFiles("gallery/Speakers"); ?>";
$(".galleryButton").each(function (index) {
$(this).click(function(){
$('#galleria').html();
$('#galleria').html('g'+index);
initiateGallery();
}).mouseover(function() {
$(this).css('cursor', 'pointer');
$(this).css('backgroundColor', '#002E53');
}).mouseout(function(){
$(this).css('backgroundColor', '#000');
});
});
答案 0 :(得分:1)
您可以使用eval获取变量gx的值。
$(this).click(function(){
$('#galleria').html();
$('#galleria').html(eval('g'+index));
initiateGallery();
})
但由于eval是邪恶的,你应该使用switch-case来获取变量:
$(this).click(function(){
$('#galleria').html();
var contents;
switch(index) {
case 1:
contents = g1;
break;
case 2:
contents = g2;
...
}
$('#galleria').html(contents);
initiateGallery();
})
我想你正试图用这一行清除#galleria的html:
$('#galleria').html();
您应该将空字符串传递给html()以清除内容:
$('#galleria').html('');
答案 1 :(得分:0)
如果您想将文本字符串'g'+index
插入HTML,我可能会建议您这样做...
$('#galleria').html('<span>g'+index+'</span>');
答案 2 :(得分:0)
您应该使用eval
方法:
$( '#拱廊')的HTML(EVAL( 'G' +索引));