Javascript 如何删除Chrome中以编程方式添加的样式?

Javascript 如何删除Chrome中以编程方式添加的样式?,javascript,styles,Javascript,Styles,我有一个简单的段落,有两个按钮,分别给它上色和去掉颜色。颜色去除在Firefox中有效,但在Chrome(确切地说是Chrome浏览器)中无效。如果我是通过样式属性()而不是通过编程($(“#段落”).css('color','#f00');或document.getElementById('paragration').style.color=“#f00”)来添加样式,那么在两种浏览器上都可以进行颜色删除。不幸的是,这在我的现实世界中是不可能的。我还能怎么做呢 代码如下所示: html <

我有一个简单的段落,有两个按钮,分别给它上色和去掉颜色。颜色去除在Firefox中有效,但在Chrome(确切地说是Chrome浏览器)中无效。如果我是通过样式属性(

)而不是通过编程(
$(“#段落”).css('color','#f00');
document.getElementById('paragration').style.color=“#f00”
)来添加样式,那么在两种浏览器上都可以进行颜色删除。不幸的是,这在我的现实世界中是不可能的。我还能怎么做呢

代码如下所示:

html

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

另外,我很确定问题在于
removeAttr
在不同浏览器中的行为方式,但我可能错了


编辑我意识到我可以使用css('color',''),但我正在寻找可以删除所有样式的东西,即使我不知道有这些样式…

您可以将样式属性设置为空字符串:

function stripStyles()
{
  $('#paragraph').attr('style', "");
}
我不确定removeAttr为什么会出现问题,但我认为这应该适用于所有浏览器

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