Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery从DIV中删除高度样式?_Jquery_Html_Css_Layout - Fatal编程技术网

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

如何使用jQuery从DIV中删除高度样式?,jquery,html,css,layout,Jquery,Html,Css,Layout,默认情况下,DIV的高度由其内容决定 但是,我覆盖了这一点,并使用jQuery显式设置了一个高度: $('div#someDiv').height(someNumberOfPixels); 我怎样才能扭转这种局面?我想删除高度样式并使其恢复为自动/自然高度?可能类似 $('div#someDiv').css("height", "auto"); 要重置div的高度,请尝试 $(“#someDiv”).height('auto')删除高度: $('div#someDiv').css('heig

默认情况下,DIV的高度由其内容决定

但是,我覆盖了这一点,并使用jQuery显式设置了一个高度:

$('div#someDiv').height(someNumberOfPixels);
我怎样才能扭转这种局面?我想删除高度样式并使其恢复为自动/自然高度?

可能类似

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

要重置div的高度,请尝试

$(“#someDiv”).height('auto')

删除高度:

$('div#someDiv').css('height', '');
$('div#someDiv').css('height', null);
正如John指出的,将高度设置为
auto

$('div#someDiv').css('height', 'auto');
(使用jQuery 1.4进行检查)

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

您可以尝试以下方法:

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

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

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

如果内容小于窗口高度,我需要将其垂直居中,或者让它自然滚动,这就是我想到的

感谢大家展示了所有这些示例。在尝试了您的示例后,我在480px以下的小型媒体屏幕上的联系人页面仍然有问题。引导程序不断插入
高度:auto

元素检查器/Devtools将显示高度,单位为:

element.style {

}
在我的例子中,我在浏览器窗口中看到:
部分#contact.contact-container | 303 x 743

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


$('section#contact.contact container')。高度(“”)

我也不能让它工作。似乎在将div的高度设置为某个特定的值(如300px或其他值)之后,就无法将高度设置回auto。可能是jQuery错误。您给出了三种解决方案,我可以确认将高度设置为“”有效,但不知道其他解决方案。在jQuery 1.9中,使用“”,但使用
null
无效。有一些细微的区别:1+2允许修改w stlysheet(如果其中定义了任何内容),3覆盖它(因为attrib设置为auto具有更高的优先级)我认为这对嵌入在样式属性中的css高度样式不起作用……如果有什么的话,您可能希望删除attr(“样式”),这确实有效,而且是最好的选择,但是如果(与这里的问题不同)您试图删除
height=“XX”
HTML属性,这是@nonrectangular的答案的重复,这将覆盖任何应应用的现有CSS规则,这可能是一个问题。这将强制高度为自动高度,覆盖任何现有CSS规则。在某些特定情况下,这可能没问题,但总的来说,它可能会导致问题。@BennettMcElwee我实际上正在与您现在描述的问题作斗争。这应该是正确的,因为这一个删除了css()样式值,它在使用js调整大小时非常有用:)干杯,谢谢
var windowHeight = $(window).height();
$('div#someDiv').height(function(){
    if ($(this).height() < windowHeight)
        return windowHeight;
    return 'auto';
});
element.style {

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