0

可能是一个简单答案的问题,但我找不到。

有没有更简单的方法来做到这一点:

$('#' + array_with_ID[0]).css('width', array_with_px_value[0] + 'px');
$('#' + array_with_ID[1]).css('width', array_with_px_value[1] + 'px');
$('#' + array_with_ID[2]).css('width', array_with_px_value[2] + 'px');
$('#' + array_with_ID[3]).css('width', array_with_px_value[3] + 'px');
$('#' + array_with_ID[4]).css('width', array_with_px_value[4] + 'px');
etc...
4

2 回答 2

3
for ( var i = 0, l = Math.max(array_with_ID.length, array_with_px_value.length); i < l; ++i ) {
    $('#' + array_with_ID[i]).css('width', array_with_px_value[i] + 'px');
}

这样的事情应该会有所帮助。Math.max如果你知道它们总是相同的长度,你甚至不需要。

于 2013-08-14T14:29:41.817 回答
0
var array_with_ID = ['div1', 'div2', 'div3', 'div4', 'div5', 'div6', 'div7'];
var array_with_px_value = [ 210, 220, 230, 240, 250, 260, 270 ];

$(array_with_ID).each(function(i){
    $('#' + this).css('width', array_with_px_value[i] + 'px');
});

jQuery each将遍历数组。

jsFiddle

于 2013-08-14T16:23:51.407 回答