IE对Node.contains和Text节点表现得很奇怪

时间:2017-05-23 16:48:04

标签: javascript internet-explorer dom cross-browser

文档

<!DOCTYPE html>
<html>
    <body>
        <div id='something'>
            A text node.
        </div>
    </body>
</html>

脚本

var parent = document.getElementById('something');
var child = parent.childNodes[0];
alert(parent.contains(child));

结果

  • Chrome 58 - true
  • Firefox 53 - true
  • Edge 38 - true
  • IE 11 - false

我希望Node包含自己的childNode。但是,在IE 11中,如果该子节点是Text节点,则显然不是这种情况。

IE对Node.contains和Text节点有奇怪的行为。什么是理由,为什么会发生?

1 个答案:

答案 0 :(得分:0)

  

&#34;理由是什么,为什么会发生?&#34;

浏览器非常复杂,每个浏览器都会出现错误。

此外,我非常确定 IE发明了.contains()方法。如果是这样,那么该方法的后期标准化并没有遵循它们的实现,那真的只是一个错误。