HTML Divs被推出其他div - 为什么?

时间:2011-11-26 16:25:58

标签: html

这很难解释,但我会尽力而为。

为了为我的网站提供正确的页脚样式,我需要将我的内容包含在id为body-bot的div中。这个div当然包含在body div中。现在在body-bot里面,我还有很多其他的div。

问题是,经过一些JQuery之后,当我在浏览器上运行它时,一些div会被推出body-bot。 (使用Firebug和页面代码源检查。)

现在我的问题不是关于如何修复它,而是更多关于如何以及为什么在加载时div可以被推出其他div。

那么,什么可能导致这个问题?当然,如果您对如何解决问题有一些想法,请成为我的客人。我无法真正展示确切的代码,因为它非常庞大......

编辑:这是我的意思的一个例子:

<body>
  <div class="body-bot">
      <div class="content">
      </div>
      <div class="banner">
      </div>
      <div class="footer">
      </div>
  </div>
</body>

成为:

 <body>
  <div class="body-bot">
      <div class="content">
      </div>          
 </div>
      <div class="banner">
      </div>
      <div class="footer">
      </div>
</body>

3 个答案:

答案 0 :(得分:0)

通常你在控制台中看到这个的原因是你有一个尾随的结束标记。您是否尝试过验证HTML?

答案 1 :(得分:0)

它并没有真正推动它关闭身体机器人,因此不会留在身体机器人的范围内。尝试使用ID而不是类。我知道ID比使用类属性更容易保持其内容。

  <body>
    <div id="body-bot">
      <div id="content">
      </div>
      <div id="banner">
      </div>
      <div id="footer">
      </div>
    </div>
  </body>

然后你当然需要更新你的CSS。

答案 2 :(得分:0)

我能想到插入结束标记的唯一方法是更改​​&lt; body&gt;上的innerhtml属性。 - 似乎不太可能。你的JS更可能正在改变内部div的父级,而不是以某种方式插入一个结束标记。

我相信元素上的“parent”属性是只读的,所以有些东西不能以这种方式改变父元素。

在&lt; body&gt;上留下appendChild,insertBefore或appendChild具有错误目标 - 或使用正确目标的呼叫,但在&lt; body&gt;上调用什么时候应该在body-bot上调用。