2012-03-12 56 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' 
    }); 
} 
相關問題