WebKit和Gecko之间的样式行为差异

时间:2011-03-27 01:01:10

标签: javascript html css webkit gecko

当我注意到一些奇怪的行为时,我正在开发一个Web应用程序。我有一个通过JavaScript style属性应用样式的元素。之后,我尝试使用removeAttribute("style")删除元素上应用的所有样式。这只适用于Gecko。 WebKit什么都不做。

我发现了一种解决方法(在删除属性之前使用setAttribute("style", "")),但我不明白为什么在WebKit上需要setAttribute而不是Gecko。为什么呢?

我有一个行为here的示例。尝试注释掉setAttribute行,看看Gecko和WebKit之间的行为有何不同。

1 个答案:

答案 0 :(得分:0)

可能取决于你如何设置属性吗?

var test=document.getElementById("test");
//test.style.background="green";
test.setAttribute("style", "background: green");
test.removeAttribute("style");

我注释掉了第二行,因为它是改变该特定属性的另一种方式。

现在第四行在webkit中正常工作(使用谷歌浏览器开发频道),当我发表评论//test.removeAttribute("style")时,该框在第三行保持绿色。