なんだかよくわからないことになったのでメモしておく。きっかけはある要素ノード中のすべてのノード (テキストノードも含む) を集めようと思ったこと。childNodes では子要素の内容が取得できないし、getElementsByTagName("*") ではテキストノードが取得できない。今までの自分だったらこうしていただろう。 function getDescendants(node, previousNodes) { if (!previousNodes) previousNodes = []; var children = node.childNodes; for (var i = 0, length = children.length; i < length; i++) { var child = children[i]; previousNodes.push(child); if