[Javascript] 如何刪除使用.css()函數添加的樣式?


Answers

接受的答案有效,但在我的測試中在DOM上留下了空的style屬性。 沒什麼大不了的,但是這一切都消除了:

removeAttr( 'style' );

這假定您想要移除所有動態樣式並返回到樣式表樣式。

Question

我正在用jQuery更改CSS,並且希望根據輸入值刪除我要添加的樣式:

if(color != '000000') $("body").css("background-color", color); else // remove style ?

我怎樣才能做到這一點? 請注意,只要使用顏色選擇器選擇顏色(即,當鼠標移動到色輪上時),上面的行就會運行。

第二個注意:我不能用css("background-color", "none")做到這一點,因為它會從css文件中刪除默認樣式。 我只想刪除jQuery添加的background-color內聯樣式。




為什麼不製作你想要刪除CSS類的樣式? 現在你可以使用: .removeClass() 。 這也打開了使用的可能性: .toggleClass()

(如果它存在,則刪除該類,如果不存在,則添加它。)

在處理佈局問題時,添加/刪除類也不那麼令人困惑,無法改變/排除故障(而不是試圖找出特定樣式為什麼消失)。




簡單在網頁開發中便宜。 我建議在刪除特定樣式時使用空字符串

$(element).style.attr = '  ';



這將刪除完整的標籤:

  $("body").removeAttr("style");



如果您使用CSS樣式,則可以使用:

$("#element").css("background-color","none"); 

然後替換為:

$("#element").css("background-color", color);

如果您不使用CSS樣式,並且在HTML元素中有屬性,則可以使用:

$("#element").attr("style.background-color",color);



這一個也工作!

$elem.attr('style','');



嘗試這個:

$('#divID').css({"background":"none"});// remove existing

$('#divID').css({"background":"#bada55"});// add new color here.

謝謝




我有辦法使用純JavaScript刪除樣式屬性,只是為了讓您了解純JavaScript的方式

var bodyStyle = document.body.style;
if (bodyStyle.removeAttribute)
    bodyStyle.removeAttribute('background-color');
else        
    bodyStyle.removeProperty('background-color');



Links