要显示的数组中的jquery div

要显示的数组中的jquery div,jquery,Jquery,我有一个DIVid数组,如下所示,在CSS中,它们都位于一个带有display:none的类下面 var paintDivs = ["div_2ndSubCategoryID","div_3rdSubCategoryID","div_4thSubCategoryID","div_ColorNameID","div_ColorNoID","div_PaintSizeID"]; 长话短说,我现在想要的是在paintdiv中显示所有DIVs 下面是我所拥有的。 循环迭代工作正常,但是paintdiv

我有一个
DIV
id数组,如下所示,在
CSS
中,它们都位于一个带有
display:none
的类下面

var paintDivs = ["div_2ndSubCategoryID","div_3rdSubCategoryID","div_4thSubCategoryID","div_ColorNameID","div_ColorNoID","div_PaintSizeID"];
长话短说,我现在想要的是在
paintdiv
中显示所有
DIV
s

下面是我所拥有的。 循环迭代工作正常,但是
paintdiv
中的单个
DIV
s仍然没有显示

jQuery.each(paintDivs, function(idx, valIs){
  $('#' + valIs).css('display');
});
我甚至尝试在CSS中创建另一个类,名为,
showThis
和set
display:block
,并尝试在下面创建,但仍然没有成功

jQuery.each(paintDivs, function(idx, valIs){
  $('#' + valIs).attr('class','showThis');
});
我做错了什么?如果您有任何见解,我们将不胜感激。

您只需使用:

否则,要正确更改CSS样式,请使用:

$.each(paintDivs, function(idx, valIs) {
    $("#" + valIs).css("display", "block");
});

您正在使用
.css
的getter函数。使用如下设置器

jQuery.each(paintDivs, function(idx, valIs){
  $('#' + valIs).css('display', 'block');
});
这一行:

  $('#' + valIs).css('display');
Get是display属性的值,您要设置它,这意味着您应该这样做以实际设置它:

  $('#' + valIs).css('display','block');
或者更简单地说,只需使用:

  $('#' + valIs).show();
或者,如果你想变得花哨,你可以:

$("#" + valIs).fadeIn();
假设“#+ValIs”是您想要的id,将显示从无更改为正常非常简单:

jQuery.each(paintDivs, function(idx, valIs){
  $('#' + valIs).css('display','normal');
});

返回propertyName的值

$('#example').css(propertyName, value)

将propertyName设置为value

,无需迭代。您可以在选择器中使用数组联接

var divs = ['test1','test3','test5'];
$('#' + divs.join(',#')).show();​
这将使您的选择器

$('#test1,#test3,#test5')

您至少尝试过
$('#'+valIs).css('display','block')你自己?@adeneo我没有尝试你建议的,但是我尝试了$('#'+valIs.show();但那没用。我尝试了你建议的方法,但仍然没有成功。顺便说一句,我不理解否决票,经过多次努力,这是一个合理的问题。@MadushM:如果这不起作用,那么你是在做其他错误的事情。显示更多的代码,或者更好的是,创建一个。这就是我的想法,我尝试了Show()并尝试了您建议的内容,但都没有成功。谢谢您的建议。我尝试了你建议的一切,但没有一个奏效。@MadushM:你确定你的身份证是正确的吗?实际上是否存在id为div\u 2ndSubCategoryID
的div?也就是说,
?在DOM准备好之后,您是否也在运行此操作?是的
,但我知道问题出在哪里。不是在DOM准备好之后。哇,我忽略了什么。谢谢@Matt BurlandYes你是对的。我试过你提到的,但还是没有显示出来。我不知道为什么不会。谢谢你的解释。我修复了它,但仍然没有显示。我必须说,这是非常有趣的。谢谢,我相信它会派上用场的。
var divs = ['test1','test3','test5'];
$('#' + divs.join(',#')).show();​
$('#test1,#test3,#test5')