【问题标题】:Moving an element with invisible content移动具有不可见内容的元素
【发布时间】:2012-07-10 22:50:07
【问题描述】:

我有一个加载内容的页面。我.clone()某些元素,然后隐藏原件,然后将克隆的元素附加到dom。特别是有一个元素连接到 CMS 字段,用户可以在其中添加脚本和内容。即使里面没有任何内容,该字段也会显示。

这个盒子可以由无数个html节点组成,主要是五组。

  1. cmets<!-- -->
  2. 脚本标签<script></scripts>
  3. 用于分析跟踪的图像包含zferral 通常display:none
  4. 文本plain text(不包含在html中)
  5. html <b>hello</b>

如果它有纯文本或 html(不是display:none),我想显示这个框。

重申一下,我移动了这个框,所以我不想让bool 告诉我是否应该用 javascript 把它放进去。

【问题讨论】:

  • 所以你想要一个可以在 div 上运行的函数来确定它是否包含任何可见的东西?
  • 还有……为什么?你为什么需要这样做?为什么不直接将内容从服务器端输出到正确的位置?或者使用appendTo移动元素而不克隆?
  • 无权访问服务器端,它是一个适用于其他平台的应用程序。我需要移动它以获取内容并委托将其放回或不放回。
  • 我可以使用appendTo,但它仍然会附加一个空的 div 框,我不想要那个。
  • 好的,那么您真的只是在寻找一个函数来测试 div 是否包含 visalbe 元素吗?

标签: jquery html dom dom-manipulation


【解决方案1】:

您可以在放置所有内容的盒子内放置一个包装 div(具有 0 个填充、0 个边距、无边框、溢出隐藏、自动宽度、自动高度)。然后只需使用 jquery 来计算该盒子的尺寸。如果它的尺寸为零。它不包含可见元素。唯一不起作用的情况是内容是具有绝对/固定位置的 html 元素。

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 2022-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多