2012-11-15 128 views
0
<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. 我想添加風格的屬性,但似乎沒有這樣的AddAttr存在。
+2

不應過多地使用了 '!重要' ​​的語句。這是一個不好的做法。 – nirazul

+0

而不是內聯的CSS,你可以簡單地創建兩個不同的CSS類,並在需要時更改它們嗎? – Developer

+0

過度使用'!重要的'在這種情況下指向一般糟糕的css結構,或者對重要的缺乏理解。我會考慮重構一些層次樣式,以便從內聯樣式中刪除'!importants' –

回答

6

你可以使用.attr('style','')刪除和.attr('style','...');設置風格。

但是,最好將css樣式設置爲兩個不同的類,並使用.addClass()和.removeClass()來代替。

0

,你可以做這樣一個接一個:

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

,或者你可以寫上喜歡你的CSS文件中的一些樣式屬性:

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

,然後你可以添加這個類到那個元素:

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

.css()方法涉及到內嵌樣式,你有上面而不是.attr()方法,所以如果left屬性是所有你想改變,嘗試:

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

這是一個不好的做法到使用內聯styles..Also你需要避免使用!重要以及..

使用類而不是內嵌樣式..

這看起來更加簡潔

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