2011-03-22 88 views
68

删除样式属性我继承了一个项目,我的工作和我更新了一些jQuery的动画(使用jQuery非常小的做法)。添加和DIV与jQuery

我有一个div我需要添加和删除的样式属性。这里是div:

<div id='voltaic_holder'> 

在动画中的一个点,我需要一个样式添加到它:

<div id='voltaic_holder' style='position:absolute;top:-75px'> 

我搜索了一圈,发现该.removeAttr()方法,但我看不到如何添加它,甚至是它的远程部分(如顶部:只有-75px)。

感谢,

+0

'$( 'voltaic_holder')风格= null'也许?样式有自己的整个对象树。大多数其他属性只是键=值类型的数据。 – 2011-03-22 17:00:18

回答

156

你可以做以下任何

设置每个样式属性的个别

$("#voltaic_holder").css({"position":"relative", "top":"-75px"}); 

删除特定样式:

$("#voltaic_holder").css({"top": ""}); 
// or 
$("#voltaic_holder").css("top", ""); 

删除整个样式属性:

$("#voltaic_holder").removeAttr("style") 
+0

我可以为每行添加1个以上的css属性吗?或者我必须为每个样式属性执行一次,如下所示: '$(“#voltaic_holder”)。css(“position”,“relative”);' '$(“#voltaic_holder”)。css(“顶部“,”-75“);' – drpcken 2011-03-22 17:09:57

+3

要回答这个问题,是的,你可以。只需在.css()函数上使用对象文字即可。像$('foo').css({'height':'30px','width':'50px'}); – 2011-03-22 17:13:06

+0

是的,你可以 - 看到我上面编辑的答案 – 2011-03-22 17:13:26

15

如果您正在使用jQuery,使用css添加CSS

$("#voltaic_holder").css({'position': 'absolute', 
    'top': '-75px'}); 

要删除CSS属性

$("#voltaic_holder").css({'position': '', 
    'top': ''}); 
+0

您不能从voltaic_holder元素中移除position或top属性,因为它没有thos属性。这些是在style属性中定义的CSS属性。 – 2011-03-22 17:02:51

+0

@彼得 - 哈!编辑使用'.css' – justkt 2011-03-22 17:04:31

7

易于方式来处理这个(和最好的HTML解决方案启动)是设置具有您想要使用的样式的类。然后,它的使用addClass()removeClass(),甚至toggleClass()一件简单的事情。

$('#voltaic_holder').addClass('shiny').removeClass('dull'); 

甚至

$('#voltaic_holder').toggleClass('shiny dull'); 
16

要完全删除voltaic_holder跨度的样式属性,这样做:

$("#voltaic_holder").removeAttr("style"); 

添加属性,这样做:

$("#voltaic_holder").attr("attribute you want to add", "value you want to assign to attribute"); 

只删除在一次

$("#voltaic_holder").css("position", "relative"); 

设置多个样式属性:顶部的风格,这样做:

$("#voltaic_holder").css("top", "");