2012-03-12 62 views
0

下面的代码是一个jQuery的.js文件的一部分(其在“超大型”图像滑块使用):如何在jQuery中使用html元素的变量?

if (vars.current_slide == 0) { 
$("#captions").children().css("display", "none"); 
    $("#caption0").css("display","inherit").css("visibility","visible"); 
    } 
if (vars.current_slide == 1) { 
$("#captions").children().css("display", "none"); 
    $("#caption1").css("display","inherit").css("visibility","visible"); 
    } 
if (vars.current_slide == 2) { 
$("#captions").children().css("display", "none"); 
    $("#caption2").css("display","inherit").css("visibility","visible"); 
    } 

正如你可以看到,我试图显示不同的标题(从#caption0#caption3)每个current_slide

如何缩短这一点,以便每个current_slide的标题都通过变量分配,与我的例子不同?

回答

4

选择器只是一个普通的字符串,因此你可以连接这样的变量:

你的情况
$("#caption" + vars.current_slide) 

因此,代码可以简化为:

$("#captions").children().css("display", "none"); 
$("#caption" + vars.current_slide).css("display","inherit").css("visibility","visible"); 

或者更短:

$("#captions").children().hide(); 
$("#caption" + vars.current_slide).show(); 
+0

伟大的东西,这为我工作。谢谢你的快速回答:)!也要感谢其他人;)。 – BlueHorizon 2012-03-12 14:39:20

2

尝试:

$("#caption" + vars.current_slide) 

另一种方法是把元件成阵列,并且通过索引访问它

1

变量只是追加到字符串:

$('#captions').children().hide(); 
    $('#caption' + vars.current_slide).css({ 
    'display': 'inherit', 
    'visibility': 'visible' 
    }); 
} 
相关问题