【问题标题】:how browser react to display none?浏览器如何反应不显示?
【发布时间】:2012-10-10 16:00:57
【问题描述】:

我想了解 display: none in html 是否意味着该元素在浏览器透视图中不存在? 我有以下情况: 我有一个用来重复插件的元素

<embed width="100%" height="100%" id="embedElement"
        TYPE="Application/DynamicWebTwain-Plugin"
        PLUGINSPAGE="/gestionRH/webTwain/DynamicWebTwain.xpi"> 
</embed>

代码javascript:

var Plugin = document.embeds[0];

当我将 embed 元素放在一个 div 中并将这个 div 的显示 css 属性设置为 none javascript 似乎找不到这个元素 什么解释?

【问题讨论】:

  • "display: none" 从页面布局中删除元素,但不从 DOM 中删除(它仍然存在于页面源中)。我想肯定有其他原因导致您无法使用 javascript 找到该元素。
  • 是的,因为当我尝试这个时: alert($("#embedElement").attr('type'));它工作正常
  • 为什么不使用 document.getElementByID() 尝试一次...我看不出 javascript 无法以这种方式找到您的元素的原因。但由于它不起作用,请获取带有 ID 的元素。
  • this var Plugin = document.getElementById('embedElement');也不行!

标签: html twain


【解决方案1】:

您可以使用另一种技术来隐藏元素并仍然可以访问它:

.hide {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}

http://css-tricks.com/places-its-tempting-to-use-display-none-but-dont/

【讨论】:

  • 我会尝试的,但首先我想了解为什么它不起作用,因为当我尝试 alert($("#embedElement").attr('type'));它有效
猜你喜欢
  • 2017-10-19
  • 2016-04-20
  • 2021-10-31
  • 1970-01-01
  • 2021-10-02
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多