删除样式的所有属性

时间:2012-11-15 08:04:28

标签: javascript jquery html css

<div><a id="link" style="position:fixed !important;
    bottom:0px !important;
    right:0px !important;
    color:#000000 !important;font:10pt Arial !important">press me</a>
</div>

为了将div块更改为

<div><a id="link" style="position:fixed !important;
    bottom:0px !important;
    left:100px !important;
    color:#000 !important;font:10pt Arial !important">press me</a>
</div>

(只有左边的属性不同),我试试这个

  1. 删除样式($'#link').RemoveAttr('style');
  2. 的所有属性
  3. 我想添加样式的属性,但似乎没有这样的AddAttr存在。

4 个答案:

答案 0 :(得分:6)

您可以使用.attr('style','')删除和.attr('style','...');把风格重新设定。

但是将css样式设置为两个不同的类并使用.addClass()和.removeClass()代替可能更好。

答案 1 :(得分:1)

.css()方法与上面的内联样式相关,而不是.attr()方法,因此,如果您想要更改left属性,请尝试:

$('#link').css({ 'right' :  'auto', 'left' : '100px' });

答案 2 :(得分:1)

使用内联样式是不良做法。此外,您还需要避免使用!important ..

使用类而不是内联样式..

看起来更干净

<强> HTML

<div>
    <a id="link" class="link right" >press me</a>
</div>​

<强> CSS

.link
{
    position:fixed !important;
    bottom:0px !important;
    color:#000000 !important;
    font:10pt Arial !important;
}
.right
{
    right:0px !important;
}

.left
{
    left:100px !important;
}

<强>的Javascript

然后你可以使用.addClass().removeClass()来完成任务......

$('#link').on('click', function() {
    $(this).removeClass('right').addClass('left');
});​

<强> Check Fiddle

答案 3 :(得分:0)

你可以一个接一个地这样做:

        $('#elementID').css('property','value');

或者你可以在你的css文件上写一些样式属性,如:

  .tobeadded{
   positon:relative;
   ...
    ...
  } 

然后你可以将这个类添加到该元素:

       $('#elementID').addClass('tobeadded');