代码之家  ›  专栏  ›  技术社区  ›  Zack Peterson

如何使用jQuery从DIV中删除height样式?

  •  84
  • Zack Peterson  · 技术社区  · 16 年前

    但是,我重写了它,并用jQuery显式地设置了一个高度:

    $('div#someDiv').height(someNumberOfPixels);
    

    我怎样才能扭转这种局面?我想删除高度样式并使其恢复为自动/自然高度?

    9 回复  |  直到 16 年前
        1
  •  103
  •   user2771704    9 年前

    删除高度:

    $('div#someDiv').css('height', '');
    $('div#someDiv').css('height', null);
    

    就像约翰指出的,把高度设为 auto :

    $('div#someDiv').css('height', 'auto');
    

    (使用jquery1.4进行检查)

        2
  •  23
  •   nonrectangular    14 年前
    $('div#someDiv').height('auto');
    

    我喜欢使用它,因为它与您首先显式使用.height(val)设置它的方式是对称的,并且可以跨浏览器工作。

        3
  •  20
  •   Keep Coding    10 年前

    你可以试试这个:

    $('div#someDiv').height('');
    
        4
  •  19
  •   John Boker    16 年前

    可能是这样的

    $('div#someDiv').css("height", "auto");
    
        5
  •  14
  •   topwik    13 年前

    $("#someDiv").height('auto');

        6
  •  4
  •   user1063287    7 年前
    $('div#someDiv').css('height', '');
    
        7
  •  0
  •   John Ruddell    10 年前

    为了补充这里的答案,我使用了高度作为一个函数,有两个选项,要么指定高度(如果它小于窗口高度),要么将其设置回自动

    var windowHeight = $(window).height();
    $('div#someDiv').height(function(){
        if ($(this).height() < windowHeight)
            return windowHeight;
        return 'auto';
    });
    

    我需要垂直中心的内容,如果它是小于窗口高度或让它自然滚动,所以这是我想出的

        8
  •  0
  •   Thomas Cayne    8 年前

    仍然 在尝试了你的例子之后,我在480px以下的小型媒体屏幕上的联系页面出现了问题。引导程序一直在插入 height: auto .

    元素检查器/Devtools将显示高度:

    element.style {
    
    }
    

    section#contact.contact-container | 303 x 743 在浏览器窗口中。

    因此,以下是消除这一问题的完整工作:

    $('section#contact.contact-container').height('');

        9
  •  -6
  •   rahul    16 年前
    $('div#someDiv').removeAttr("height");
    
    推荐文章