Internet Explorer忘记了节点的值

时间:2017-10-09 17:41:48

标签: javascript internet-explorer

关闭,这个问题的标题不是很好。如果你有一个更好的建议,我会很乐意改变它。我也明白这个问题之前可能已经得到了回答,但我缺乏搜索它的词汇。

好的,我有这个文件:

<p id="test-paragraph">
    There never was a <a href="">fatter</a> dog.
</p>

然后我有这个javascript:

<script>
    var firstParagraph = document.getElementById('test-paragraph')
    var test = firstParagraph.firstChild;
    console.log(test);
    firstParagraph.innerHTML = '';
    console.log(test);
</script>

好的,在IE 11上,结果如下:

// "There never was a"
// EmptyTextNode

但Chrome / Edge / Firefox的结果是:

// "There never was a"
// "There never was a"

所以,我得到了正在发生的事情。 IE 11正在向第一个元素发出指针(?)。当该元素的父项被清空时,firstChild被删除,因此指针将转到空节点。

但是,所有现代浏览器显然都会创建独立于父元素的节点的副本。

所以,问题:

1)我怎样才能更好地说出IE 11正在做什么?

2)我怎样才能更好地说出其他浏览器在做什么?

3)如何让IE 11像其他浏览器一样运行并复制节点的内容,而不是指向它们?(?)?

4)IE 11的方法对我来说更有意义(即使它很刺激)。为什么现代浏览器采用不同的方式呢?

0 个答案:

没有答案