0

在 IE8 中使用 jQuery,我正在创建一个带有类(例如<div class="className"></div>)的 div。这个类有几个 CSS 样式,包括backgroundmarginborder. 在 IE9(以 IE8 运行)中调试 javascript 并检查元素时,所有 currentStyles 都具有默认值,而不是 CSS 中的值。因此,当我尝试获取 时marginauto即使 CSS 将其设置为10px.

该脚本没有错误,并且在 Firefox、Chrome 和 IE9 中按预期工作。有什么想法吗?

4

2 回答 2

0

开发者工具中有一个刷新按钮。这会在不重新加载页面的情况下重新加载 DOM 树。

如果您使用 JavaScript 进行 DOM 更改,它们不会反映在 MSIE 开发人员工具中,除非您单击刷新按钮。见下图:

MSIE 开发者工具中的刷新按钮

于 2012-03-22T16:52:59.847 回答
0

在上面评论的帮助下(在原始问题下),我发现div在我试图获取它的 CSS 属性时它实际上并不在 DOM 中,这就是为什么我只看到元素的默认 CSS . 诚然,IE9、Firefox 和 Chrome 都处理得很好,但是元素首先需要在 DOM 中才有意义。

作为一种解决方法,我append()隐藏input在 DOM 中,具有与div. 然后我可以获取我需要的 CSS 属性/值,然后删除input. 虽然并不理想,但这暂时是一个可以接受的解决方案。

于 2012-03-26T13:53:51.950 回答