我想用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);
});
});
THX
答案 0 :(得分: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'
});
希望有所帮助。