0

jpickerを使用して複数の要素を変更したいのですが、これは単一の要素(#body02)のコードですが、要素ごとに配列を作成することはできますか?

   $(document).ready(
function()
{
  var LiveCallbackElement = $('#body02'),
      LiveCallbackButton = $('#LiveButton');  // you don't want it searching this

                                     // on every live callback!!!
  $('#Callbacks').jPicker(
    {window:{position:{x:'screenCenter',y:'200'}}},
    function(color, context)
    {
      var all = color.val('all');
      alert('Color chosen - hex: ' + (all && '#' + all.hex || 'none') +
        ' - alpha: ' + (all && all.a + '%' || 'none'));
      $('#body02').css(
        {
          backgroundColor: all && '#' + all.hex || 'transparent'
        }); // prevent IE from throwing exception if hex is empty
    },
    function(color, context)
    {
      if (context == LiveCallbackButton.get(0)) alert('Color set from button');
      var hex = color.val('hex');
      LiveCallbackElement.css(
        {
          backgroundColor: hex && '#' + hex || 'transparent'
        }); // prevent IE from throwing exception if hex is empty
    },
    function(color, context)
    {
      alert('"Cancel" Button Clicked');
    });      
  $('#LiveButton').click(
    function()
    {
      $.jPicker.List[0].color.active.val('hex', 'e2ddcf', this);
    });

});

どうも

4

1 に答える 1

0

少し遅れていますが、他の人にとっては役立つかもしれません。複数の要素に同じプロパティを同じ値で設定する場合は、クラス ID を追加するだけです (カンマ区切り)。

    $('#Id1, .class1, .class2, #AnotherId').css(
    {
      backgroundColor: all && '#' + all.hex || 'transparent'
    });

ただし、個別のプロパティまたは個別の値を設定する場合は、個別の呼び出しを行います。

    $('#Id1').css(
    {
      backgroundColor: all && '#' + all.hex || 'transparent'
    });



    $('.someClass').css(
    {
      color: all && '#' + all.hex || 'transparent'
    });

.css は css 値の配列を想定しているため、同じ呼び出しで同じ要素に複数の変更を適用することもできます。

    $('#Id1').css(
    {
      //Note the trailing comma except the last entry
      backgroundColor: all && '#' + all.hex || 'transparent',
      color: all && '#' + all.hex || 'transparent'
    }); 

それが役立つことを願っています。

于 2013-01-29T13:49:04.637 に答える