在IE Compat View中,开发人员工具显示了元素" style"与前一个元素的类

时间:2014-03-12 22:42:51

标签: html css internet-explorer ie8-compatibility-mode ie-developer-tools

*我将为我即将使用的措辞提前道歉。我不经常支持Internet Explorer,也不经常使用开发人员工具,因此我将使用文字来描述我对它的看法以及我所看到的内容,但我可能会使用更好的术语。

我正在开发第三方基于网络的软件平台(BigMachines),他们正在使用CSS类(名为“rule-hide”)来有选择地显示或隐藏表格中的列。

我们看到的问题是,从“IE7标准”文档模式中运行的IE查看时,“隐藏”列之后的列也是隐藏的

如果我们检查开发人员工具中的表,正确的'co'l,'th'和'td'元素分配了“rule-hide”类,并且这些元素没有显示,但另外紧跟着元素这些没有显示。它似乎是1表示1.因此,如果我们只有1个这个类的元素,则有1个隐藏的元素。如果该课程有2个,则不会显示2个额外内容。

在开发人员工具中,如果我们选择未显示但应该是的元素,则class属性为空,但在Style下显示“.rule-hide”(以及相关的'display:none!important;' )如果我们选择一个确实显示的元素,它也没有该类,但它在Style下没有它。

如果我使用下面的html创建本地html文件,请在IE中以文档模式=“IE7标准”打开它,仅显示“描述”和“价格Ea”。隐藏了“电缆类型”和“成本Ea”。如果我从 col或th中删除该类,则会显示Cost Ea。

<!DOCTYPE html>
<html>
    <head>
        <style>.rule-hide {display: none !important;}</style>
    </head>
    <body>
        <table>
            <col />
            <col class='rule-hide'/>
            <col />
            <thead>
                <tr>
                    <th>Description</th>
                    <th class='rule-hide'>Cable Type</th>
                    <th>Cost Ea</th>
                    <th>Price Ea</th>
                </tr>
            </thead>
        </table>
    </body>
</html>

这在Compat View中是否常见于IE?是否记录了发生了什么,为什么会发生这种情况,或者如何纠正它?

非常感谢任何见解。

*编辑包含代码

1 个答案:

答案 0 :(得分:2)

尽可能地说,二级类定义让IE7感到困惑。我猜它首先在TH上行动,然后因为那个消失了,colgroup规则隐藏类正在杀死第二个,那时候就是成本EA。

加入头部:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>jQuery.noConflict();jQuery(document).ready(function(){jQuery('col.rule-hide').removeClass('rule-hide');});</script>

似乎返回丢失的列,同时保留所需的隐藏,隐藏。

相关问题