在IE兼容模式下支持自定义元素

时间:2013-04-19 17:11:07

标签: javascript jquery internet-explorer dom ie8-compatibility-mode

在Chrome和IE(不兼容)中,自定义标记在检查和导航DOM时效果很好。

在IE +兼容模式下,它不起作用。

以下是jsbin中的一些示例代码:http://jsbin.com/ozajeh/1/edit

<html>
  <!--  Run this in IE 8/9, possibly 10, with compatibility mode on to see the issue -->
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        if (document.createElement) {
            document.createElement("myelement");
        }
    </script>
</head>
<body>
    <script>
        var div = $("<div>content</div>");
        if( div.contents().length > 0 && div[0].childNodes.length > 0){
            alert("found content in div");
        }

        var myElement = $("<myelement>content</myelement>");
        if (myElement.contents().length > 0 && myElement[0].childNodes.length > 0) {
            alert("found content in myelement");
        }else{
          alert("IE issue: cannot find content in myelement");
        }
    </script>
</body>
</html>

如何让Internet Explorer处于兼容模式以正确处理标记?

当前,会发生什么,是myElement.nextSibling()返回文本节点,这显然是不正确的。

我可以找出基于属性/值测试的解决方法,但有没有更坚实的方法来处理这种情况?

0 个答案:

没有答案