如何从div中删除css样式?

时间:2012-08-08 08:32:22

标签: javascript jquery css replace

我正在使用jQuery Autosize为textarea元素启用自动高度。

当我专注于textarea时,效果很好。
如果我模糊了纹理,我想将height移除到纹理以将高度调整为默认值。

我想知道应该做什么on blur操作,以便将textarea保持为默认值。

以下是我试图在javascript控制台上测试我的脚本。

当我加载页面时,textarea处于模糊状态:

$('#announcement').css('height'); // "36px"

如果我关注textarea:

$('#announcement').css('height'); // "90px"

$('#announcement').removeAttr('height');
$('#announcement').css('height'); // "90px" 
// why do I continue to get this value even if I removed the Attribute height?

我知道我可以简单地修复我的问题,简单地进行模糊操作 $('#announcement').css('height', '36px');
但我想避免在javascript代码中设置css属性 有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用以下内容直接清除元素上的style.height

$('#announcement').css('height', '');

请参阅此处的工作示例:http://jsfiddle.net/jfriend00/LXspR/

在您的示例中,removeAttr()适用于属性,而非style.height等样式属性。 .css("height")适用于style.height