Javascript removeAttribute 在 IE 中工作,但在 Chrome 中不起作用
<body onload="document.getElementById('menuTest').style.removeAttribute('display')">
这是我正在使用的代码。基本上,我试图仅在页面上的其他所有内容加载后才使元素可见。它在 IE 中工作正常,但在 Chrome 中不行。我不太使用 Js...但是如果我没记错的话,我需要做的 getElementById 函数有什么棘手的事情吗?
<body onload="document.getElementById('menuTest').style.removeAttribute('display')">
This is the code I'm using. Basically I'm trying to make an element visible only after everything else on the page has loaded. It works fine in IE, but not in Chrome. I don't work with Js much...but if I remember correctly, is there something finnicky about the getElementById function that I need to do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
测试页面:http://www.quirksmode.org/dom/tests/cssMisc。 html#removeProperty
Test page: http://www.quirksmode.org/dom/tests/cssMisc.html#removeProperty
您不将删除属性与样式一起使用,而是将其设置为所需的值。
You do not use remove attribute with styles, you set it to the value needed.
如果您的元素在 CSS 中设置了 CSS3 定时转换,则即使您的代码正确,JavaScript 也会失败。因为当 javascript 触发时元素正在转换,所以它无法在某些浏览器中操作它(Chrome 就是其中之一)。在这些情况下,请尝试在转换有时间完成元素渲染后延迟 javascript 的触发。
If your element has a CSS3 timed transition set on it in CSS, the javascript will also fail even if your code is correct. Because the element is transitioning when the javascript fires, it can not manipulate it in some browsers (Chrome is one). In these cases try delaying the javascript to fire after the transition has had time to finish rendering the element.