什么是DISPHTMLUListElement和HTMLUListElement之间的区别?

时间:2015-06-18 03:36:34

标签: javascript asp.net jscript

我们有一个接近10年的asp.net Winforms应用程序,并且在其中使用了一些技术(并且我的人员不再在我的公司工作)。

为了能够在IE10 / 11(更不用说其他浏览器)中运行,我们需要在兼容模式下运行,现在是时候尝试并至少开始解决问题了。

我遇到的第一个问题之一就是使用asp:Repeater来使用类似......

<asp:Repeater ID="MyRepeater" runat="server"    
    OnItemDataBound="MyRepeater_ItemDataBound" >
   <HeaderTemplate>
       <ul class="MyHeader" >
    </HeaderTemplate>
    <ItemTemplate>
    ....
    <ItemTemplate>

有一些代码可以访问这个DOM元素..

var list = helper.getElementByClassName(this.get_hostElement(), 'MyHeader', 'ul');

不用担心上述调用中的内容(还有),最终的结果是,当处于兼容模式时,如果我们查看结果,如果&#39; list&#39;在IE调试器中,我可以看到..

[object DISPHTMLUListElement]

当没有兼容模式时,结果为

[object HTMLUListElement]

从那里下山,不同类型的子元素(它们也不同于 DISP 前缀),我们还有其他访问函数失败(缺少属性/函数的对象等)< / p>

这里的问题最初的问题是,是否有人知道返回的 DISPHTMLUListElement HTMLUListElement 对象之间的区别?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

第一个是XHTML(又名HTML 4.0)元素(quirk模式); 最后一个是IE 9引入的HTML5元素,具有更多标准功能(边缘模式)。

如果需要,您可以强制执行一种或另一种模式。