我有數組ID我需要關閉所有的div。我曾經使用過下面的代碼。不起作用。這個怎麼做。如何在jQuery中動態傳遞ID
$.each([id_1, id_2], function(index, value) {
//alert(index + ': ' + value);
$("#"+value).css({'display' : 'none'});
});
我需要動態傳遞id作爲$("#"+id_value)
我有數組ID我需要關閉所有的div。我曾經使用過下面的代碼。不起作用。這個怎麼做。如何在jQuery中動態傳遞ID
$.each([id_1, id_2], function(index, value) {
//alert(index + ': ' + value);
$("#"+value).css({'display' : 'none'});
});
我需要動態傳遞id作爲$("#"+id_value)
可以使用Array join
方法如下:
var idsInJquerySyntax = '#' + [id_1, id_2, id_3].join(', #');
$(idsInJquerySyntax).css({
display: 'none'
});
這裏你可以看到一個工作演示:http://www.jsfiddle.net/qHVg7/
儘量將它們作爲字符串?即:
$.each(['id_1', 'id_2'], ...
您也可以programattically建立一個Multiple Selector如其他人所說的,但如果你不喜歡有10000個字符長選擇的想法,如果你的ID已經遵循命名約定(如作爲 'myid_1', 'myid_2', 'myid_10' 等),那麼我會建議使用startsWith selector,像這樣:
$("[id^=myid]").hide(); // hide all elements with ID starting with 'myid'
你可以只通過.join()
把它變成一個multiple selector,像這樣:
$('#'+[id_1, id_2].join(',#')).hide();
這基本上可以做:
$('#someId1,#someId2').css({'display' : 'none'});
類似:http://stackoverflow.com/questions/4448924/getting-div- ID值,從-A-字符串和manupulating,它 – sje397 2010-12-15 10:37:04