2013-03-20 52 views
1

如何在jQuery中为元素的许多其他CSS属性中删除单个CSS属性?在其他CSS属性中删除单个CSS属性

我目前做这样的事情,除去height属性完全

$('style').css({'height' : ''}); 

上面的代码不工作?有没有其他方法可以完全删除高度属性?而不是将其设置为0或某物!

+0

为什么不把它设置为零? – 2013-03-20 17:39:36

+0

您无法删除css规则。总是有一个默认值,所以对于高度,默认值是'auto',所以你需要将它设置为'$(element).css('height','auto')'。 – 2013-03-20 17:46:27

回答

4

您可能正在考虑错误。要在CSS中取消设置特定的高度声明,请使用“height:auto;” - 所以我想你只是想做.css({'height': 'auto'});

+1

除了伊莎伍德提到的 - 这里还有一个“风格”的元素,你可以选择,但我无法想象你想要这样做的场景。这不是正确的做法。这是。 – 2013-03-20 17:41:35

+2

属性永远不会“消失”。将它设置为你想要的,而不是试图去除它。 – isherwood 2013-03-20 17:42:51

+0

@isherwood我驯服了css专栏。当从css列切换回正常的垂直布局时,css列的宽度仍然存在,所以我想知道如何完全去除高度和宽度。明白了, – CodeWeed 2013-03-20 17:45:46

1

'身高':''将工作,如果你已经使用JS设置高度。如果你还没有使用JS,你需要使用样式默认选项(比如auto或inherit)来为css提供动力。

'高度': '自动'

-1

这是应该如何规定

$('style').css('height' , ''); 

两个参数,而不是一个单一的对象。尝试一下。

+1

两者都会工作。即使只包含一个键值对,也可以传递一个对象。 – 2013-03-20 17:42:58

+0

失踪了。要么 #?? $('。style')或$('#style')?? – 2013-03-20 17:44:55

+0

的确如此。应该猜到了。 – 2013-03-20 17:48:18