我有div id数组我需要关闭所有div。我曾使用过以下代码。不行。怎么做。
$.each([id_1, id_2], function(index, value) {
//alert(index + ': ' + value);
$("#"+value).css({'display' : 'none'});
});
我需要动态传递id $("#"+id_value)
答案 0 :(得分:3)
您可以使用Array join
方法,如下所示:
var idsInJquerySyntax = '#' + [id_1, id_2, id_3].join(', #');
$(idsInJquerySyntax).css({
display: 'none'
});
您可以在此处查看有效的演示:http://www.jsfiddle.net/qHVg7/
答案 1 :(得分:1)
尝试将它们作为字符串传递?即:
$.each(['id_1', 'id_2'], ...
您也可以像其他人建议的那样以编码方式建立Multiple Selector,但如果您不喜欢拥有10,000个字符长的选择器,并且您的ID已遵循命名约定(例如' myid_1','myid_2','myid_10'等等。然后我会建议使用startsWith selector,就像这样:
$("[id^=myid]").hide(); // hide all elements with ID starting with 'myid'
答案 2 :(得分:0)
您可以通过multiple selector将其转换为.join()
,如下所示:
$('#'+[id_1, id_2].join(',#')).hide();
这基本上就是这样做:
$('#someId1,#someId2').css({'display' : 'none'});