2011-06-15 33 views
0

我有一個簡單的段落,帶有兩個按鈕,分別爲它們着色並移除顏色。這種顏色去除功能可以在Firefox中使用,但不能在Chrome中使用(鉻 - 瀏覽器,更確切地說)。如果我要通過樣式屬性(<p id="paragraph" style="color: #f00;">)而不是編程添加樣式($('#paragraph').css('color', '#f00');document.getElementById('paragraph').style.color="#f00";),則顏色刪除將在兩個瀏覽器上都能正常工作。不幸的是,在我現實世界的情況下這是不可能的。我還能如何做這項工作?如何在Chrome中刪除以編程方式添加的樣式?

的代碼看起來是這樣的:

HTML

<p id="paragraph">TARGET</p> 
<input type="button" value="Style me" onclick="styleIt();" /> 
<input type="button" value="Strip styles" onclick="stripStyles();" /> 

的JavaScript

function styleIt() 
{ 
    $('#paragraph').css('color', '#f00'); 
} 

function stripStyles() 
{ 
    $('#paragraph').removeAttr("style"); 
} 

的jsfiddlehttp://jsfiddle.net/qBtYW/10/

P.S.我很確定問題存在於removeAttr在不同瀏覽器中的行爲,但我可能是錯的。

編輯我知道我可以使用CSS(「顏色」,「」),但我正在尋找的東西,將刪除所有樣式,即使是那些我不知道在那裏...

回答

2

你可以只設置樣式屬性等於一個空字符串:

function stripStyles() 
{ 
    $('#paragraph').attr('style', ""); 
} 

我不知道爲什麼removeAttr是有問題,但我認爲這應該在所有的瀏覽器。

相關問題