当我注意到一些奇怪的行为时,我正在开发一个Web应用程序。我有一个通过JavaScript style
属性应用样式的元素。之后,我尝试使用removeAttribute("style")
删除元素上应用的所有样式。这只适用于Gecko。 WebKit什么都不做。
我发现了一种解决方法(在删除属性之前使用setAttribute("style", "")
),但我不明白为什么在WebKit上需要setAttribute
而不是Gecko。为什么呢?
我有一个行为here的示例。尝试注释掉setAttribute
行,看看Gecko和WebKit之间的行为有何不同。
答案 0 :(得分:0)
可能取决于你如何设置属性吗?
var test=document.getElementById("test");
//test.style.background="green";
test.setAttribute("style", "background: green");
test.removeAttribute("style");
我注释掉了第二行,因为它是改变该特定属性的另一种方式。
现在第四行在webkit中正常工作(使用谷歌浏览器开发频道),当我发表评论//test.removeAttribute("style")
时,该框在第三行保持绿色。