使用jquery更改几个divs css onload(this)

时间:2014-08-26 16:50:02

标签: jquery css

当页面加载时,我尝试更改每个.partition div的margin-top。 我曾尝试使用$(this),但我找不到好的解决方案:

  $(document).ready(function() {
      $('.partition').css({
      'marginTop':  - ($(this).height() / 2)
      });
  });

有什么想法吗? 非常感谢!

3 个答案:

答案 0 :(得分:2)

无需使用.each()。您可以直接从函数返回值:

$('.partition').css({
    'marginTop': function () {
        return -($(this).height() / 2)
    }
});

答案 1 :(得分:0)

您需要将其包含在each函数中。

   $(document).ready(function() {
      $('.partition').each(function(){
           $(this).css({
              'marginTop':  - ($(this).height() / 2)
           });
      });
   });

$(this)没有其他意义。 JSBin code

答案 2 :(得分:0)

使用jQuery .each()使用类分区遍历所有div并应用css。试试这个:

$(document).ready(function() {
    $('.partition').each(function(){
        $(this).css({
      'marginTop':  - ($(this).height() / 2)
      });
    });
  });

<强> DEMO