2017-03-20 4 views
0

長いリストの要素に対して20回繰り返す必要のある関数があります。長いリストのn番目の子のjQuery関数の最適化

それは次のようになります。私はそれのためのより少ないコードを最適化して使用することができます

jQuery("#post-selected-container .tablerow:eq(0)").css({'height':(jQuery(".tablerow.center:eq(0)").height()+'px')}); 
jQuery("#post-selected-container-two .tablerow:eq(0)").css({'height':(jQuery(".tablerow.center:eq(0)").height()+'px')}); 

jQuery("#post-selected-container .tablerow:eq(1)").css({'height':(jQuery(".tablerow.center:eq(1)").height()+'px')}); 
jQuery("#post-selected-container-two .tablerow:eq(1)").css({'height':(jQuery(".tablerow.center:eq(1)").height()+'px')}); 

jQuery("#post-selected-container .tablerow:eq(2)").css({'height':(jQuery(".tablerow.center:eq(2)").height()+'px')}); 
jQuery("#post-selected-container-two .tablerow:eq(2)").css({'height':(jQuery(".tablerow.center:eq(2)").height()+'px')}); 
(...) 

任意のチャンス?要素20まで...

+1

.css()メソッドは関数を受け入れることができます。 http://api.jquery.com/css/#css-propertyName-function現在の要素とそのインデックスの両方にアクセスできる以下の例に注意してください。そうですね、あなたは確かにあなたがやっていることをlessで行うことができます実際のコード –

答えて

0
for (var i = 0; i < 20; i++) { 
    var h = jQuery(".tablerow.center:eq(" + i + ")").height() + 'px'; 

    jQuery("#post-selected-container .tablerow:eq(" + i + ")").css({ 'height': h }); 
    jQuery("#post-selected-container-two .tablerow:eq(" + i + ")").css({ 'height': h }); 
} 
+0

あなたの推論をダウン投票と共有してください。だから誰もが何が間違っているのか、これを行う良い方法を学ぶことで恩恵を受けることができます –

関連する問題