.children是元素的属性。只有Elements有子节点,这些子节点都是Element类型。但是Node.childNodes的属性。可以包含任何节点。.childNodes所以一个具体的例子就是var el = document.createElement("div");el.textContent = "foo"el.childNodes.length === 1; // TextNode is a node childel.children.length === 0; // no Element children当然.children是DOM4所以浏览器支持是不稳定的,但是如果你使用DOM-shim,你的跨浏览器问题就会消失!大多数时候你想使用,.children因为通常你不想在DOM操作中循环遍历TextNodes或Comments。如果您确实想要操作TextNodes,则可能需要.textContent。