IE开发人员工具栏中的<!---->元素是什么

时间:2010-10-30 14:01:49

标签: internet-explorer rendering

注意到&lt;!&gt; IE6和7中的元素(尚未测试8)开发人员工具栏。它似乎是为我的一个实际元素保存背景图像而创建的元素(实际元素现在是根据IE的&lt;!&gt;元素的子元素)

有谁知道&lt;!&gt;元素是为什么IE创建它来保存背景图像(我在元素旁边有另一个几乎相同的元素,现在是&lt;!&gt;元素的子元素,而且不需要/获得&lt;!&gt;元素背景图片的元素)

实际加价(简化)

<div id='d1'>I have a background image</div>
<div id='d2'>So do I</div>

由IE6和7

标记为renderen
<!> <!-- now contains the background image for d1'-->
  div id='d1'>I no longer have a background image</div>
</!> <!-- or whatever the closing tag for <!> is -->
<div id='d2'>SI still have mine</div>

alt text

修改
可以找到实际网站here。实际的标记非常庞大和复杂。 (问题的元素是#leftBar元素,请注意,它的高度由javascript决定)

这是描述包含在&lt;!&gt;

中的元素的所有CSS
position:absolute;
left:0px; 
z-index:15;

width:15em; /* on update change: #contentWrapper:padding-left, #rondleiding:left */
height:100%;

overflow:visible;
background: url("http://somewhere/img.png") repeat #a99c89;

此外,页面元素确实存在javascript操作,但这些操作并不处理#leftBar元素的背景图像。

根据W3C验证器,页面非常有效(图像上有一些错误)。

此外,我将添加赏金,因为我现在要求人们查看实际网站(这意味着要挖掘我的狗屎)。(忘记一个问题需要开放两天那)

2 个答案:

答案 0 :(得分:1)

这是由ie7 / ie8.js脚本中的错误引起的。我还没有弄清楚怎么样...调试没那么有趣,因为那个库是如此迷人的小功能。你真的需要包括它吗?如果您想要修复一个特定的行为,那么单独解决它可能会更好。我从来没有真正相信这些巨大的尝试 - 修复一切一生的脚本。

所以相反我会指出你似乎加载jQuery两次(一次来自谷歌,一次来自你自己的网站,错误的MIME类型),你有这个验证问题(其余的文档似乎OK):

<![if gte IE 8]>
    ...
<![endif]>

令人遗憾的是,MSDN仍在发布这种无效的条件注释语法,因为很容易有一个下层显示的条件注释也是有效的:

<!--[if gte IE 8]><!-->
    ...
<!--<![endif]-->

答案 1 :(得分:-1)

真实(非简化)标记是否可能包含语法错误?我已经看到IE开发工具栏完全不知道在一个属性上错过关闭"的事情。