-1

DIV私は次のようなIDの配列を持っていCSSますdisplay:none.

var paintDivs = ["div_2ndSubCategoryID","div_3rdSubCategoryID","div_4thSubCategoryID","div_ColorNameID","div_ColorNoID","div_PaintSizeID"];

簡単に言えば、私が今望んでいるのは、すべてDIVのを に表示することpaintDivsです。

以下は私が持っているものです。ループの繰り返しは正常に機能していますが、個々DIVpaintDivsはまだ表示されていません。

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

私はCSSで別のクラスを作成して試してみましshowThisdisplay:block.

jQuery.each(paintDivs, function(idx, valIs){
  $('#' + valIs).attr('class','showThis');
});

私は何を間違っていますか?どんな洞察も大歓迎です。

4

5 に答える 5

3

のゲッター関数を使用しています.css。以下のようなセッターを使用して、

jQuery.each(paintDivs, function(idx, valIs){
  $('#' + valIs).css('display', 'block');
});
于 2012-10-22T20:24:31.037 に答える
3

あなたは単に使用することができますshow()

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

それ以外の場合、CSS スタイルをcss()正しく変更するには、次のようにします。

$.each(paintDivs, function(idx, valIs) {
    $("#" + valIs).css("display", "block");
});
于 2012-10-22T20:23:45.127 に答える
2

この行:

  $('#' + valIs).css('display');

Getはdisplay属性の値であり、設定する必要があります。つまり、実際に設定するには、次のようにする必要があります。

  $('#' + valIs).css('display','block');

または、もっと簡単に言うと、次を使用するだけです。

  $('#' + valIs).show();

または、空想したい場合は、次のことができます。

$("#" + valIs).fadeIn();
于 2012-10-22T20:26:00.200 に答える
2

'#+ ValIs'が必要なIDであるとすると、表示をnoneからnormalに変更するのは次のように簡単です。

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

ドキュメントから

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

propertyNameの値を返します

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

propertyNameをvalueに設定します

于 2012-10-22T20:27:20.757 に答える
1

反復せずに、セレクターで配列結合を使用できます

var divs = ['test1','test3','test5'];
$('#' + divs.join(',#')).show();​

セレクターを構築するもの

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

http://jsfiddle.net/wirey00/JrZBJ/

于 2012-10-22T21:03:57.767 に答える