【发布时间】:2012-11-11 05:21:53
【问题描述】:
我正在寻找一种改变 HTML div 可见性的好方法。
可能最常见的方法是使用 JavaScript,因为它可以操作我的 DOM。在我目前的项目中,我不喜欢使用任何 JavaScript,所以这是我的问题:
是否有其他方法可以通过使用 Ruby 或 Sass 等技术来解决此问题?
我在我的项目中使用 Ruby + Sinatra 框架,以及 Haml 和 Sass。
【问题讨论】:
-
我知道 JS 的方式是:` ... { document.getElementById("visible").style.visibility = "hidden"; } ... `
-
您希望在用户加载页面之后,还是在提供页面时动态地执行此操作?如果它是在页面被提供并且浏览器正在显示它之后,那么这不是一个 Ruby 问题,它纯粹是 JavaScript。
-
Javascript 不会操纵您的样式表,而是会操纵浏览器中加载的 dom 树。在不使用 javascript 的情况下,您可以使用会话并重新加载页面,让 div 逻辑在服务器端显示。
-
在页面加载后并且不使用 javascript 是不可能的,除非你每 x 秒刷新一次页面...
-
display: none通常是隐藏元素的首选方式,因为它会完全删除元素,而不是像visibility: hidden那样留下一个大洞。 is HTML5 中的一个元素(详细信息)具有显示/隐藏行为,但只有在语义上适当时才应使用它(目前支持很差:仅限 Chrome/Safari) .