为什么这个<p>是这个DOM中的childNodes [3]?</p>

时间:2015-03-14 19:47:48

标签: dom parent-child child-nodes

伙计们我对DOM层次结构感到困惑。我已经读过一些浏览器将空格和文本读作节点,称为DOM的Junk Artifacts。 所以我想了解这个DOM中<p>P1</p>如何是childNodes [3]:

<div>
  <p>P0</p>
  <p>P1</p>
</div>

<button onclick="hideFn();">hideBtn</button>
<script>
function hideFn()
    {
         document.getElementById("myDiv").childNodes[3].style.background="red";

    }
</script>

1 个答案:

答案 0 :(得分:1)

你的div包含:

0. A text node consisting of white space.
1. A p element node containing a text node consisting of P0.
2. Another text node consisting of white space.
3. A p element node containing a text node consisting of P1.
4. Another text node consisting of white space.

不是那样的&#34;有些浏览器将文本读作节点&#34;那是某种方式&#34;垃圾&#34; - text nodes只是DOM的一部分。

(换行符,空格字符和所有其他形式的空白都是文本。)