如何解决如何在Chrome中删除以编程方式添加的样式?
| 我有一个简单的段落,带有两个按钮,分别为它上色并删除颜色。颜色删除可在Firefox中使用,但不能在Chrome中使用(确切地说,是铬浏览器)。如果要通过样式属性(<p id=\"paragraph\" style=\"color: #f00;\">
)而不是通过编程方式($(\'#paragraph\').css(\'color\',\'#f00\');
或document.getElementById(\'paragraph\').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();\" />
javascript
function styleIt()
{
$(\'#paragraph\').css(\'color\',\'#f00\');
}
function stripStyles()
{
$(\'#paragraph\').removeAttr(\"style\");
}
jsFiddle:http://jsfiddle.net/qBtYW/10/
附言我很确定问题出在5浏览器在不同浏览器中的行为,但是我可能是错的。
编辑我意识到我可以使用css(\'color \',\'\')但是我正在寻找可以删除所有样式的东西,甚至那些我不知道的样式也可以删除...
解决方法
您可以将style属性设置为一个空字符串:
function stripStyles()
{
$(\'#paragraph\').attr(\'style\',\"\");
}
我不确定为什么removeAttr会出现问题,但是我认为这应该在所有浏览器中都有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。